Connecting to-web-services-on-android-4577
Upcoming SlideShare
Loading in...5
×
 

Connecting to-web-services-on-android-4577

on

  • 1,652 views

 

Statistics

Views

Total Views
1,652
Views on SlideShare
1,651
Embed Views
1

Actions

Likes
1
Downloads
33
Comments
0

1 Embed 1

http://www.verious.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Connecting to-web-services-on-android-4577 Connecting to-web-services-on-android-4577 Presentation Transcript

  • Connecting to Web Services Sean Sullivan Android Dev Camp Amsterdam 8 January 2009
  • +
  • • HTTP• XML• JSON• OAuth
  • HTTP requestXML response
  • http://code.google.com/p/jfireeagle
  • jfireeagle uses: • HttpClient API • XStream • OAuth Java library
  • “An open protocol to allow secure APIauthorization in a simple and standard methodfrom desktop and web applications”
  • • 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
  • +http://code.google.com/p/oauth
  • +jfireeagle http://code.google.com/p/jfireeagle/wiki/Androidjpoco http://code.google.com/p/jpoco/wiki/Android
  • + HTTPOption 1 • java.net.URL • java.net.HttpURLConnectionOption 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 programmingsynchronous invocation public HttpResponse execute(HttpUriRequest request)asynchronous invocation public HttpResponse execute(HttpUriRequest request, ResponseHandler handler)
  • Android UI thread• user clicks on button• onClick listener• Don’t block the UI thread!• Tip: use java.lang.Runnable
  • Response formats• XML• JSON• RSS, Atom• other
  • 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
  • JSON processing• org.json package• Google GSON library *• XStream + Jettison *• json-lib * * does not work on Android 1.0
  • Client libraries• code.google.com/p/jfireeagle• 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• flickrj.sourceforge.net
  • Conclusion• HttpClient API• use XStream for XML processing• use org.json package for JSON processing• OAuth has a learning curve• OAuth affects user experience
  • Thank you
  • Resources• http://code.google.com/android/documentation.html• http://hc.apache.org/httpcomponents-client• http://code.google.com/p/oauth• http://xstream.codehaus.org