Sådan implementeres HTTP-postanmodninger på Android

HTTP POST-anmodninger er afgørende for enhver Android-applikation, der bruger internettet. Alt du skal gøre er at implementere funktionaliteten.

trin

Brug af NameValuePair

Billedets titel Udfør HTTP-postanmodninger i Android Trin 1
1
Erklære internetrettighederne på manifestet ved at tilføje følgende linje til AndroidManifest.xml. Dette vil gøre det muligt for din applikation at bruge enhver internetforbindelse.

  • Billedets titel Udfør HTTP-postanmodninger i Android Trin 2
    2


    Opret dine HttpClient- og HttpPost-objekter for at udføre POST-anmodningen. Adresseobjektet er en streng, der repræsenterer POST-destinationen, f.eks. En PHP-side.

    HttpClient klient = ny DefaultHttpClient () -
    HttpPost post = ny HttpPost (adresse) -
  • Billedets titel Udfør HTTP-postanmodninger i Android Trin 3
    3
    Konfigurer POST-dataene. Dette gøres ved at oprette og konfigurere en liste over NameValuePairs som din HttpPosts enhed. Sørg for at tilføje UnsupportedEncodingException kastet af HttpPost.setEntity ().

    Liste par = ny ArrayList() -
    pairs.add (new BasicNameValuePair ("key1", "value1"))
    pairs.add (new BasicNameValuePair ("key2", "value2")) -
    post.setEntity (nye UrlEncodedFormEntity (par)) -
  • 4
    Udfør POST-anmodningen. Dette returnerer et HttpResponse objekt, hvis dato kan udvindes og analyseres. Sørg for at gennemføre fangsten af ​​de kastede ClientProtocolException og IOException undtagelser.

    HttpResponse response = client.execute (post) -

  • Metode 2: Brug af et Json-objekt trin: I stedet for at bruge NameValuePair kan du simpelthen oprette et jSon-objekt og konvertere det til streng ved afsendelse.


    Hvis du skal sende en postanmodning som denne simple anmodning om et par værdier og nøgler, se eksemplet:
    {
    "email": "[email protected]",
    "old_passw": 306,
    "use_id": 123,
    "new_passw": 456
    }


    1 Opret en json-objekt og anbring værdien og nøgleparne kortlagt af serveren.
    JSONObject jsonobj = nyt JSONObject () -
    jsonobj.put ("email", "[email protected]") -
    jsonobj.put ("old_passw", "306") -
    jsonobj.put ("use_id", "123") -
    jsonobj.put ("new_passw", "456") -


    2 Opret en http-klient og post-URL.
    DefaultHttpClient httpclient = ny DefaultHttpClient () -
    HttpPost httppostreq = ny HttpPost ("your_server_url") -


    3 Opret en streng. Strengen tilføjes til webadressen i det format, der anmodes om af HTTP POST.


    StringEntity if = new StringEntity (jsonobj.toString ()) -


    4 Denne del er valgfri og avanceret, og du kan springe over den, hvis det ikke er meget vigtigt at erklære en charset.
    se.setContentType ("application / json-charset = UTF-8") -
    se.setContentEncoding (ny BasicHeader (HTTP.CONTENT_TYPE, "application / json-charset = UTF-8"))


    5 Konfigurer virksomheden i postanmodningen.
    httppostreq.setEntity (se) -


    6 Udfør POST-anmodningen.
    HttpResponse httpresponse = httpclient.execute (httppostreq) -


    7 For at modtage svaret fra serveren efter at HTTP POST er udført. Indtast en trycatch-blok.
    String responseText = null-
    prøv {
    responseText = EntityUtils.toString (httpresponse.getEntity ()) -
    } catch (ParseException e) {
    e.printStackTrace () -
    Log.i ("Parse Exception" og + "") -


    } 8 Få svarstrengen i det nye jSON-objekt og dets værdier. Udført! ` Udført! ` JSONObject json = nyt JSONObject (responseText) -


    Hvis du har brug for en postanmodning med objektet inde i hovedstrukturen, skal du gøre følgende:
    {
    "anmodning": {
    "email": "[email protected]",
    "old_passw": 306,
    "use_id": 123,
    "new_passw": 456
    }
    }


    Skift det første skridt på denne måde. 1 `Opret et indre jSON objekt og udfyld det.`
    JSONObject header = nyt JSONObject () -
    header.put ("email", "[email protected]") -
    header.put ("old_passw", "306") -
    header.put ("use_id", "123") -
    header.put ("new_passw", "456") -


    2 Opret et nyt jSON-objekt (yderste, med "request" -tasten) og sæt det indre jSON inde i det som en værdi af "request" -tasten.


    JSONObject jsonobj = nyt JSONObject () -
    jsonobj.put ("request", header) -

    Nødvendige materialer

    • Java IDE
    • Android Development Tools (SDK, emulator osv.)
    • Telefon eller anden Android-enhed (valgfrit, til test)
    • Internetforbindelse (til test)
    Del på sociale netværk:

    Relaterede
    © 2024 HodTari.com