Hoe om http-posversoeke in android uit te voer
HTTP-pos is deel van `n afgekeurde HTTP-klasse soos Org.appache.http en androidhttpclient as van Android 5.1. Migreer u kode na die httpurlkonneksie klasse wat insluit die posfunksie.HTTP-pos word in Java gebruik om te versoek dat `n spesifieke webbediener data wat binne `n versoekvorm ingedien is, ontvang en stoor. Die data word ingedien en gestoor in naam-waarde pare. Voorbeelde van pare sluit in: Email-jou e-pos adres-gebruikersnaam-jou gebruikersnaam- en wagwoord-jou wagwoord.
Stappe
Deel 1 van 2:
Skep `n Probeer Blok- en Httpurlconnection-voorwerp1. Voeg internettoestemmings by die Android-manifest. Die Android-manifes is `n XML-lêer wat belangrike inligting verskaf aan die Android-stelsel wat toestelversoenbaarheid en toegang tot funksies bepaal. In die "Androidmanifest.XML "Lêer, voer die volgende reël in om toegang tot die internet te verskaf.
Android: Naam ="Android.toestemming.Internet" />
2. Skep `n Probeer Blok. In Java is `n toetsverklaring `n uitsondering hanteerder wat sal verhoed dat die program gekraak word as dit nie `n aksie kan uitvoer nie. Omdat dit `n verbinding met `n netwerk-plek sal vereis, sal `n toetsverklaring `n uitsondering kry as dit nie `n verbinding kan vestig nie. U kan dit by `n nuwe Java-metode byvoeg.
probeer {// voer stellings in wat uitsonderings kan veroorsaak
3. Bou httpurlkonneksie en URL-voorwerpe. Java is `n objekgeoriënteerde taal. `N Voorwerp bestaan uit state en gedrag wat `n voorbeeld van `n klas is. Die httpurlconnection-voorwerp stuur en ontvang data oor die internet. Begin in u kode u nuwe metode deur `n URL-voorwerp te skep en gee dit `n URL vir die httpurlconnection-voorwerp om aan te sluit.
URL URL = Nuwe URL ("http: // -voorbeeld.com / ") - httpurlconnection client = (httpurlconnection) url.OpenConnection ()-
URL URL = Nuwe URL ("http: // -voorbeeld.com / ") - httpurlconnection client = null-probeer {client = (httpurlconnection) url.OpenConnection () -}
Deel 2 van 2:
Pos die uitsetversoek en hantering van uitsonderings1. Stel die versoek metode om te plaas. Ten einde inligting aan die bediener te stuur, moet u die tipe httpurlconnection-voorwerp se tipe instel om te pos en stel die uitset in die gebruik van steldo upput (). Gebruik die SetRequestProperty () funksie om `n algemene versoek eiendom te stel wat twee elemente benodig, `n sleutel met `n bekende versoek van die bediener en `n waarde wat in die ooreenstemmende sleutel vervat is.
- Die SetRequestProperty () funksie word gebruik as die aanvaar-enkodering-versoekopskrif om outomatiese dekompressie uit te skakel.
kliënt.setrequestMethod ("Post") - Kliënt.setrequestproperty ("sleutel", "waarde") - kliënt.Setdooutput (True)-
2. Uitset die stroom na die bediener. U moet die uitsetstroom van die bediener versoek om in staat te wees om aan die uitsetstroom of pos te kan skryf, dan spoel en sluit die stroom wanneer dit klaar is.
OutputStream OutputPost = Nuwe BufferedOutputStream (Kliënt.GetOutputStream ()) - Writestream (OutputPost) -Outpostpost.Spoel () - Uitsetpost.naby()-
kliënt.SetFixedLengthStreamingMode (OutputPost.getbytes ().lengte) -Client.SetchunkedstreamingMode (0)-
3. Vang enige uitsonderings. Gebruik na die toetsverklaring om die vangblok te gebruik om `n uitsondering vir insette en uitset met iOsexception te kontroleer, `n URL-fout met die Malformedurl-uitsondering te vang en te kontroleer of die URL nie `n reaksie betyds met die SocketTimeOutxception bied nie.
Vang (Malformedurlexception Fout) {// hanteer `n verkeerde ingevoerde URL} vang (SocketTimeOutxception Error) {// handvatsels URL toegang Tydout.} vang (iOexception fout) {// handvatsels insette en uitvoer foute}
4. Ontkoppel van die URL. Nadat jy klaar is met jou URL-konneksie, sal jy van die URL moet ontkoppel. Maak seker dat jy seker maak dat jy aan `n URL gekoppel is voordat jy probeer om te ontkoppel.
Ten slotte (indien (kliënt != null) // Maak seker dat die verbinding nie nul is nie.kliënt.Ontkoppel () -}
Wenke
Dinge wat jy sal nodig hê
- Java IDE
- Android-ontwikkelingsinstrumente (SDK, emulator, ens.)
- Android-ontwikkelaar se telefoon of ander Android-aangedrewe toestel (opsioneel vir toetsing)
- Internet konneksie (vir toetsing)
Deel op sosiale netwerke: