Also, this video from this year's Google IO about using RESTful Services with Android is excellent and may give you some ideas:
http://code.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html On Sep 14, 11:08 am, Bret Foreman <[email protected]> wrote: > I'm stuck on a tough architectural problem. I have a collection of web > services that produce data that will populate UI components - > TextViews, ListViews, and so on. Each web service may take up to about > 10 seconds to respond, or it might not respond at all. When I click a > button in the UI that requires data from the web services I need to > show a ProgressDialog until either the data arrives or it times out. > > I'm pretty sure that an IntentService is the best way to wrap the web > services. From the documents (http://developer.android.com/reference/ > android/app/IntentService.html) "This "work queue processor" pattern > is commonly used to offload tasks from an application's main thread." > Also "Note that unlike other application components, calls on to the > IBinder interface returned here may not happen on the main thread of > the process." > > The UI needs to get data back (asynchronously) from the IntentService, > which means using AIDL, onBind, and all that. But from the documents > (http://developer.android.com/guide/developing/tools/aidl.html) we > have "By default, IPC calls are synchronous. If you know that an IPC > service takes more than a few milliseconds to complete, you should not > call it in the Activity/View thread, because it might hang the > application (Android might display an "Application is Not Responding" > dialog). Try to call them in a separate thread." > > Of course, that "separate thread" stuff in the AIDL docs in nonsense. > If you spawn a separate thread in an Activity it will get blown up in > OnDestroy. But what do they mean by "By defualt"? Are there cases > where the IPC can be asynchronous? Is that what is meant by the text > in the IntentService docs "may not happen on the main thread"? How > does this work? -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

