Mittwoch, 13. März 2013

Get data over HTTPConnection

Bei Online-Apps bietet sich an, die Daten asynchron zu laden und damit die "User-Experience" zu erhöhen. Asynchron heißt, dass die App während die Anfrage an den Server geschickt wird bzw. auf eine Antwort vom Server gewartet wird, bereits Berechnung durchführt wie z.B. Vorbereitungen zur Aufbereitung der Daten.

Eine asynchrone Berechnung kann in Android mittels eines Async Tasks (kann von Vorteil sein v.a. in Kombination mit UI Threads) bzw. mit Hilfe eines Threads und einem Handler gelöst werden. Ein Post zu diesem konkreten Thema wird in Kürze folgen.

In diesem Beitrag möchte ich darauf eingehen wie man Daten über eine HTTPConnection erhalten kann.

Zunächst: Wie wird eine HTTPConnection zu einem Server hergestellt:


Wie erhält man nun die Antwort des Servers, nachdem die Verbindung steht und der Server die Anfrage erhalten hat?
Hier die Lösung:


Wie kann nun so eine Konvertierung von einem InputStream aussehen? Ich habe nun drei Beispiele:
  • Bei der Server-Response handelt es sich um einen String (z.B. JSONResponse - das Schöne hier: mit dem result-String der readIt Funktion kann ganz einfach ein JSONObject erzeugt werden: JSONObject data = new JSONObject(responseString))

  •  Bei der Server-Response handelt es sich um ein Image (wobei die Eingabe der Funktion die Request-URL ist)

  • Bei der Server-Response handelt es sich um eine PDF 


Keine Kommentare:

Kommentar veröffentlichen