Googles Android/ HTTP

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Zurück zu Googles Android

Viele Anwendungen bauen auf dem Client-Server-Prinzip auf, welche über das Internet Verbindung zueinander aufnehmen. Zu diesem Zweck wird meist HTTP als Übertragungsmittel genutzt. Wie man seine Daten in einer Android-Applikation via HTTP versendet, lernen wir in diesem Kapitel kennen.

Eine Voraussetzung hierfür ist, dass man über die grundlegenden Mechaniken von HTTP im Bilde ist.

Request-Methode[Bearbeiten]

Je nachdem wie bzw. welche Informationen von einer URL oder Server bekommen möchte, nutzt man bei HTTP verschiedene Request-Methoden. Die meist genutzten sind GET, POST, PUT und DELETE. Und für diese gibt es in Android eine jeweilige Entsprechung: HttpGet,[1] HttpPost,[2] HttpPut[3] und HttpDelete.[4]

HttpGet get = new HttpGet("http://www.example.com/");
...
HttpPost post = new HttpPost("http://www.example.com/");
...
HttpPut put = new HttpPut("http://www.example.com/");
...
HttpDelete delete = new HttpDelete("http://www.example.com/");
...

Diesen Objekten können weitere Informationen wie Header durch addHeader()[5] hinzugefügt werden … ganz wie man es von HTTP gewohnt ist.

Request und Response[Bearbeiten]

Nachdem das Request-Päckchen gepackt ist, will es auch verschickt werden und man möchte gegebenenfalls auch eine Antwort erhalten. Zu diesem Zweck benötigen wir ein DefaultHttpClient[6]-Objekt, welches die Aufgabe des Senden und Empfangen übernimmt.


HttpGet get = new HttpGet("http://www.example.com/");

DefaultHttpClient client = new DefaultHttpClient();
        
try {
	
	HttpResponse response = client.execute(get);
			
} catch (ClientProtocolException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

Durch die execute()[7]-Methode wird der Request ausgeführt und an die angegebene URL geschickt. Als Antwort erhält man ein Response-Objekt, welches die gewollten Informationen enthält. Es können Header und/oder Body-Informationen ausgelesen und genutzt werden.

Einzelnachweise[Bearbeiten]

  1. HttpGet: http://developer.android.com/reference/org/apache/http/client/methods/HttpGet.html. Stand 18. Februar 2011
  2. HttpPost: http://developer.android.com/reference/org/apache/http/client/methods/HttpPost.html. Stand 18. Februar 2011
  3. HttpPut: http://developer.android.com/reference/org/apache/http/client/methods/HttpPut.html. Stand 18. Februar 2011
  4. HttpDelete: http://developer.android.com/reference/org/apache/http/client/methods/HttpDelete.html. Stand 18. Februar 2011
  5. http://developer.android.com/reference/org/apache/http/message/AbstractHttpMessage.html#addHeader%28org.apache.http.Header%29. Stand 18. Februar 2011
  6. http://developer.android.com/reference/org/apache/http/impl/client/DefaultHttpClient.html. Stand 18. Februar 2011
  7. http://developer.android.com/reference/org/apache/http/impl/client/AbstractHttpClient.html#execute%28org.apache.http.client.methods.HttpUriRequest%29. Stand 18. Februar 2011