connecting to web services on android june 2 2010

27
Connecting to Web Services on Android Sean Sullivan June 2, 2010

Upload: sullis

Post on 11-Nov-2014

11.092 views

Category:

Technology


0 download

DESCRIPTION

Open Source Bridge 2010 June 2, 2010 Portland Oregon

TRANSCRIPT

  • 1. Connecting to Web Services on Android Sean Sullivan June 2, 2010
  • 2. HTTP request HTTP response
  • 3. HTTP XML JSON OAuth
  • 4. + HTTP Option 1 java.net.URL java.net.HttpURLConnection Option 2 HttpClient 4.0 API
  • 5. HttpClient 4.0 API org.apache.http.client.HttpClient org.apache.http.impl.client.DefaultHttpClient
  • 6. 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
  • 7. HttpClient 4.0 API org.apache.http.HttpResponse org.apache.http.StatusLine org.apache.http.HttpEntity org.apache.http.utils.EntityUtils
  • 8. HttpClient programming HTTP response status code I/O exceptions timeouts gzip
  • 9. HttpClient programming synchronous invocation public HttpResponse execute(HttpUriRequest request) asynchronous invocation public HttpResponse execute(HttpUriRequest request, ResponseHandler handler)
  • 10. UI programming user clicks on button onClick listener Dont block the UI thread! Tip: use java.lang.Runnable
  • 11. Response formats XML JSON RSS, Atom other
  • 12. JSON processing json.org package Google GSON library XStream + Jettison * json-lib * * does not work on Android 1.x
  • 13. 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
  • 14. RSS and Atom Rome library * Apache Abdera library * * does not work on Android 1.x
  • 15. Client libraries code.google.com/p/jreeagle code.google.com/p/jpoco code.google.com/p/meetup-java-client
  • 16. Client libraries code.google.com/p/gdata-java-client code.google.com/p/upcoming-java-client ickrj.sourceforge.net
  • 17. Conclusion HttpClient API use XStream for XML processing use Google GSON for JSON processing OAuth has a learning curve
  • 18. Thank you