Anda di halaman 1dari 27

Connecting to Web Services on Android

Sean Sullivan June 2, 2010

HTTP request

HTTP response


Option 1
Option 2

HttpClient 4.0 API

HttpClient 4.0 API

org.apache.http.client.HttpClient org.apache.http.impl.client.DefaultHttpClient

HttpClient 4.0 API

org.apache.http.client.methods.HttpGet org.apache.http.client.methods.HttpPost org.apache.http.client.methods.HttpPut org.apache.http.client.methods.HttpDelete

HttpClient 4.0 API

org.apache.http.HttpResponse org.apache.http.StatusLine org.apache.http.HttpEntity org.apache.http.utils.EntityUtils

HttpClient programming
HTTP response status code I/O exceptions timeouts gzip

HttpClient programming
synchronous invocation
public HttpResponse execute(HttpUriRequest request)

asynchronous invocation
public HttpResponse execute(HttpUriRequest request, ResponseHandler handler)

UI programming
user clicks on button onClick listener Dont block the UI thread! Tip: use java.lang.Runnable

Response formats
XML JSON RSS, Atom other

JSON processing package Google GSON library XStream + Jettison json-lib
* *
* does not work on Android 1.x

XML processing
org.w3c.dom package (DOM) org.xml.sax package (SAX) org.xmlpull package (XPP) XStream JDOM Apache XmlBeans

* does not work on Android 1.x

RSS and Atom

Apache Abdera library
Rome library *

* does not work on Android 1.x

Client libraries

Client libraries

HttpClient API use XStream for XML processing use Google GSON for JSON processing OAuth has a learning curve

Thank you