This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Not quite sure if you cover this in the chapter named The Connected World, but some the times the phone may be a front-end device where a client app consumes back-office services. That means we will need at least HTTP to do some requests. Is there any web services (read SOAP) or REST helper libraries?
How is the usual service consumption treated in mobile, and particular Android.
Now, as opposed to iPhone, Android does allow for concurrency (I mean, several tasks running in my app). Is there a model for a back - thread that frequently consumes a service to simulate a "push" of information into the phone? Imaging people that want to continuously post their position into a mapping system. Ideas for that?
You can call web services because the regular Java socket and URL calls are there. The trick is to not block the foreground UI thread. Calling a web service is covered in chapter 7 of my book and in the free sample code here: http://www.pragprog.com/titles/eband/source_code (Translate example). REST and JSON are built-in, but with some extra work you can do SOAP (search this forum for links).
For most programs, doing network I/O on a different thread within the same program will be fine. However Android does allow you to run code in the background that might not even have a user interface. It may not really be running all the time -- to save battery power you probably want it to run only based on certain events or on a timer.
The Android Service class and the <service> tag in the Android manifest are used to define Services. I don't cover Services in the book since most people won't need them. However I do cover Content Providers, which is one way your app can cause code from another app (like the Contacts database provider) to be started in order to fulfill a request.