Professional Android Programming with Mono for Android and .NET/C#
by Wallace B. McClure, Nathan Blevins, John J. Croft IV, Jonathan Dick, Chris Hardy
Chapter 11
Developing Background Services and Asynchronous Code
What's in This Chapter?
- The life cycle of a service
- Getting it done with threads
- Using services and activities
- Working with the UI
- Communicating with notifications
- Setting alarms
- Cloud to Device Messaging (C2DM)
Unlike some other mobile operating systems, Android allows and even encourages the use of background processing using a variety of mechanisms to do things independently of a user interface. This allows applications to listen for broadcast intents from other applications or services, stay updated on location data, and even communicate over the Internet with other services, all without requiring the application's user interface to be running.
Separating the user interface from background processing is critical in creating efficient applications. There's no need to hold memory for a user interface when all your application is doing is polling a web service.
Android provides several mechanisms for processing in the background. Services don't even need to always be running. Android can wake up a service to do its processing in the background based on a scheduled time or interval, or when another thread or application broadcasts an intent in which the service is interested.
In this chapter you learn all about services and running code in the background, outside of the main application thread. You discover how to communicate updates from your background code to the user through notifications, as well as how to communicate ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access