Cum se execută cereri post post în android

Postul HTTP face parte dintr-o clase http depreciate ca ORG.apache.http și androidtpClient ca de Android 5.1. Migrați codul dvs. la clasele httpurlonection, care includ funcția de postare.Postul HTTP este utilizat în Java pentru a solicita ca un anumit server web să primească și să stocheze datele trimise într-un formular de solicitare. Datele sunt trimise și stocate în perechi de valori de nume. Exemple de perechi includ: e-mail-adresa dvs. de e-mail - numele de utilizator - numele dvs. de utilizator și parola - parola dvs.

Pași

Partea 1 din 2:
Crearea unui bloc de încercare și obiect httpurlonnection
1. Adăugați permisiuni de internet la manifestarea Android. Manifestul Android este un fișier XML care oferă informații importante sistemului Android care determină compatibilitatea și accesul la caracteristici. În "Androidmanifest.xml ", introduceți următoarea linie pentru a oferi acces la internet.
 Android: Nume ="Android.permisiune.INTERNET" />
  • 2. Creați un bloc de încercare. În Java, o declarație de încercare este un handler de excepție care va împiedica prăbușirea programului dacă nu este capabil să efectueze o acțiune. Deoarece acest lucru va necesita o conexiune la o locație de rețea, o instrucțiune de încercare va prinde o excepție dacă nu este capabilă să stabilească o conexiune. Puteți adăuga acest lucru la o nouă metodă Java.
    încercați {// introduceți declarații care pot provoca excepții}
  • 3. Construiți obiecte httpurlconctionare și adrese URL. Java este un limbaj orientat pe obiecte. Un obiect este compus din stări și comportamente care reprezintă o instanță a unei clase. Obiectul httpurlonnection trimite și primește date pe internet. În codul dvs., începeți noua dvs. metodă prin crearea unui obiect URL și alocați-l o adresă URL pentru ca obiectul HttpurlConnection să se conecteze la.
    URL URL = URL nouă (http: // exampleurl.COM / ") - URL-ul httpurlonnection = (httpurlonnection).OpenConnection ()-
  • Pentru cele mai bune practici, stabili obiectele URL și httpurlonnection în afara blocului de încercare pentru a ușura excepțiile de capturare.
  • URL URL = URL nouă (http: // exampleurl.com / ") - httpurlconnection client = null-încercați {client = (httpurlonnection) adresă.OpenConnection () -}
    Partea 2 din 2:
    Postarea cererii de ieșire și a excepțiilor de manipulare
    1. Setați metoda de solicitare pentru a posta. Pentru a trimite informații pe server, trebuie să setați tipul obiectului HttpurlConnection să postați și să setați ieșirea la TRUE utilizând SetDoutput (). Utilizați funcția SetRequestProperty () pentru a seta o proprietate generală de solicitare care necesită două elemente, o cheie cu o solicitare cunoscută de la server și o valoare conținută în tasta corespunzătoare.
    • Funcția SetRequestProperty () este utilizată ca antet de solicitare a codificării acceptării pentru a dezactiva decompresia automată.
    client.SETREQUESTMETHOD ("Post") - Client.SetRequestProperty ("cheie", "valoare") - client.setdoutput (true)-
  • 2. Ieșiți fluxul pe server. Trebuie să solicitați fluxul de ieșire de pe server pentru a putea scrie în fluxul de ieșire sau pentru a posta, apoi spălați și închideți fluxul când ați terminat.
    OutputStream OutpuePost = New BufferedOutputStream (client.GetoutputStream ()) - scriere (ieșirePost) -outppost.Flush () - ieșirePost.închide()-
  • Din motive de performanță, este o idee bună să lăsați serverul să știe cât de mare în octeți va fi conținutul. Cea mai bună metodă este setampixatengthstreammingmode (int) când este cunoscută lungimea corpului, în timp ce se utilizează SetchunkedStreamingmode (int) dacă este cunoscută lungimea. Nu folosiți nici una dintre metodele anterioare determină obiectul httpurlonnecției să tamponeze corpul complet în memorie înainte de a fi transmis.
  • client.setFixedlengthstreamingmode (ieșirePost.getbytes ().Lungime) -Client.SetchunkedStreamingmode (0)-
  • 3. Prinde orice excepție. După instrucțiunea de încercare, utilizați blocul de captură pentru a verifica o excepție pentru introducerea și ieșirea cu IOException, prindeți o eroare de adrese URL cu excepția Malformedurl și verificați dacă adresa URL nu oferă un răspuns în timp cu SocketTimeoutexception.
    Prindeți (eroare MalFormedurlexception) {// Manerează o url introdusă incorect} captură (SocketTimeoutexception Error) {// Manere de acces la adresa URL.} Catch (Eroare IOException) {// Manipularea erorilor de intrare și ieșire}
  • 4. Deconectați-vă de la adresa URL. După ce ați terminat cu conexiunea URL, va trebui să vă deconectați de la adresa URL. Asigurați-vă că verificați dacă sunteți conectat la o adresă URL înainte de a încerca să deconectați.
    În cele din urmă {dacă (client != null) // Asigurați-vă că conexiunea nu este nulă.client.Deconectat()-}
  • sfaturi

    Lucrurile de care veți avea nevoie

    • Java IDE
    • Instrumente de dezvoltare Android (SDK, emulator etc.)
    • Android Developer Telefon sau alt dispozitiv alimentat cu Android (opțional pentru testare)
    • Conexiune la Internet (pentru testare)
    Partajați pe rețeaua socială:
    Similar