connecting to web services on android

27
Connecting to Web Services Sean Sullivan Android Dev Camp Amsterdam 8 January 2009

Upload: sullis

Post on 11-Nov-2014

148.477 views

Category:

Technology


3 download

DESCRIPTION

Connecting to Web Services on Android Android Dev Camp Amsterdam January 2009

TRANSCRIPT

  • 1. Connecting to Web Services Sean Sullivan Android Dev Camp Amsterdam 8 January 2009
  • 2. +
  • 3. HTTP XML JSON OAuth
  • 4. HTTP request XML response
  • 5. http://code.google.com/p/jreeagle
  • 6. jreeagle uses: HttpClient API XStream OAuth Java library
  • 7. An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications
  • 8. use OAuth to access protected data your application needs to obtain an access token from the service provider service provider will issue access token after the user grants permission
  • 9. + http://code.google.com/p/oauth
  • 10. + jreeagle http://code.google.com/p/jreeagle/wiki/Android jpoco http://code.google.com/p/jpoco/wiki/Android
  • 11. + HTTP Option 1 java.net.URL java.net.HttpURLConnection Option 2 HttpClient 4.0 API
  • 12. HttpClient 4.0 API org.apache.http.client.HttpClient org.apache.http.impl.client.DefaultHttpClient
  • 13. 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
  • 14. HttpClient 4.0 API org.apache.http.HttpResponse org.apache.http.StatusLine org.apache.http.HttpEntity org.apache.http.utils.EntityUtils
  • 15. HttpClient programming HTTP response status code I/O exceptions timeouts gzip?
  • 16. HttpClient programming synchronous invocation public HttpResponse execute(HttpUriRequest request) asynchronous invocation public HttpResponse execute(HttpUriRequest request, ResponseHandler handler)
  • 17. Android UI thread user clicks on button onClick listener Dont block the UI thread! Tip: use java.lang.Runnable
  • 18. Response formats XML JSON RSS, Atom other
  • 19. XML processing org.w3c.dom package (DOM) org.xml.sax package (SAX) org.xmlpull package (XPP3) XStream JDOM Apache XmlBeans * * does not work on Android 1.0
  • 20. JSON processing org.json package Google GSON library * XStream + Jettison * json-lib * * does not work on Android 1.0
  • 21. Client libraries code.google.com/p/jreeagle code.google.com/p/jpoco code.google.com/p/meetup-java-client code.google.com/p/upcoming-java-client code.google.com/p/gdata-java-client ickrj.sourceforge.net
  • 22. Conclusion HttpClient API use XStream for XML processing use org.json package for JSON processing OAuth has a learning curve OAuth affects user experience
  • 23. Thank you
  • 24. Resources http://code.google.com/android/documentation.html http://hc.apache.org/httpcomponents-client http://code.google.com/p/oauth http://xstream.codehaus.org