Hur man utför http-postförfrågningar i android

Http-inlägg är en del av en depreced http-klasser som org.apache.http och androidhttpClient som Android 5.1. Migrera din kod till httpurlconnection-klasserna som innehåller postningsfunktionalitet.HTTP-post används i Java för att begära att en viss webbserver får och lagrar data som lämnats in inom en begäran. Data skickas och lagras i namnvärdepar. Exempel på par är: e-post-ditt e-postadress - användarnamn-ditt användarnamn- och lösenord-ditt lösenord.

Steg

Del 1 av 2:
Skapa ett försök block och httpurlconnection objekt
1. Lägg till Internetbehörigheter till Android Manifest. Android Manifest är en XML-fil som ger viktig information till Android-systemet som bestämmer enhetskompatibilitet och tillgång till funktioner. I "Androidmanifest.XML "-fil, skriv följande rad för att ge tillgång till Internet.
 Android: Namn ="android.lov.Internet" />
  • 2. Skapa ett försöksblock. I Java är ett försöksförklaring en undantagshanterare som hindrar programmet från att krascha om det inte kan utföra en åtgärd. Eftersom det här kommer att kräva en anslutning till en nätverksplats, kommer ett försöksförklaring att få ett undantag om det inte kan etablera en anslutning. Du kan lägga till det här till en ny Java-metod.
    Prova {// Ange uttalanden som kan orsaka undantag}
  • 3. Bygg httpurlconnection och URL-objekt. Java är ett objektorienterat språk. Ett objekt består av stater och beteenden som är en förekomst av en klass. HTTPURLCONNECTION-objektet skickar och tar emot data via Internet. I din kod, starta din nya metod genom att skapa ett URL-objekt och tilldela det en URL för HTTPURLCONNECTION-objektet att ansluta till.
    URL URL = Ny URL ("http: // expleurl.com / ") - httpurlconnection client = (httpurlconnection) URL.OpenConnection ()-
  • För bästa praxis, upprätta URL och httpUrlConnection-objekten utanför försöksblocket för att göra det lättare att fånga undantag.
  • URL URL = Ny URL ("http: // expleurl.com / ") - httpurlconnection client = null-prova {client = (httpurlconnection) URL.OpenConnection () -}
    Del 2 av 2:
    Uppdatering av utmatningsförfrågan och hantering undantag
    1. Ange begäransmetoden för att posta. För att skicka information till servern måste du ställa in httpurlconnectionsobjektets typ för att posta och ställa in utmatningen till TRUE med SetDoOutput (). Använd funktionen SETREQUESTPROPERTY () för att ställa in en allmän begäran egenskap som kräver två element, en nyckel med en känd begäran från servern och ett värde som finns i motsvarande nyckel.
    • Funktionen SETREQUESTPROPERTY () används som den acceptkodningsförfrågningshuvud för att inaktivera automatisk dekompression.
    klient.SetRequestmethod ("Post") - Klient.setRequestProperty ("nyckel", "värde") - klient.SETDOOUTPUT (TRUE)-
  • 2. Mata ut strömmen till servern. Du måste begära utmatningsströmmen från servern för att kunna skriva till utgångsströmmen eller posta och spola och stäng strömmen när den är klar.
    OutputStream OutputPost = Ny BufferedOutputStream (Client.GetoutputStream ()) - WritStream (Outputpost) -Outputpost.spola () - utgångsställe.stänga()-
  • Av prestationsskäl är det en bra idé att låta servern veta hur stor i byte är innehållet att vara. Den bästa metoden är setFixedlengthStreamingMode (int) när kroppslängden är känd, medan setchunkedstreamingmode (INT) används om det inte är känt. Att inte använda någon av de tidigare metoderna medför att HTTPURLCONNECTION-objektet buffrar den fullständiga kroppen i minnet innan det sänds.
  • klient.SetFixedlengthStreamingMode (OutputPost.Getbytes ().längd) -Client.setchunkedstreamingmode (0)-
  • 3. Fånga några undantag. Efter försöket, använd fångstblocket för att kontrollera ett undantag för inmatning och utgång med IoException, fånga ett URL-fel med felet Malformedurl och kontrollera om webbadressen inte ger ett svar i tid med sockettimoutexceptionen.
    Fångst (malformedurlexceptionsfel) {// hanterar en felaktig inmatad URL} Fångst (SockettimeAutException Error) {// Handles URL Access Timeout.} Fång (ioexceptionsfel) {// hanterar inmatnings- och utgångsfel}
  • 4. Koppla ur url. När du är klar med din URL-anslutning måste du koppla ur URL-adressen. Var noga med att kontrollera att du är ansluten till en webbadress innan du försöker koppla bort.
    äntligen {om (klient != null) // Kontrollera att anslutningen inte är noll.klient.koppla ifrån()-}
  • Tips

    Saker du behöver

    • Java ide
    • Android Utvecklingsverktyg (SDK, Emulator, etc.)
    • Android-utvecklarens telefon eller annan Android-driven enhet (valfritt för testning)
    • Internetanslutning (för testning)
    Dela på det sociala nätverket:
    Liknande