Anda di halaman 1dari 27

Connecting to Web Services on Android

Sean Sullivan June 2, 2010

HTTP request

HTTP response

HTTP XML JSON OAuth

+ HTTP
Option 1

java.net.URL java.net.HttpURLConnection
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
json.org 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
code.google.com/p/jreeagle code.google.com/p/jpoco code.google.com/p/meetup-java-client

Client libraries
code.google.com/p/gdata-java-client code.google.com/p/upcoming-java-client ickrj.sourceforge.net

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

Thank you