Datasheet

Android SDK Features
7
Native Google Maps, Geocoding, and Location-Based Services
Native map support lets you create a range of map-based applications that leverage the mobility of
Android devices. Android lets you create activities that include interactive Google Maps as part of
your user interface, with full access to maps that you can control programmatically and annotate using
Android’s rich graphics library.
Android’s location-based services manage technologies like GPS and Google’s GSM cell-based location
technology to determine the device’s current position. These services enforce an abstraction from spe-
cific location-detecting technology and let you specify minimum requirements (e.g., accuracy or cost)
rather than choosing a particular technology. They also mean that your location-based applications
will work no matter what technology the host handset supports.
To combine maps with locations, Android includes an API for forward and reverse geocoding that lets
you find map coordinates for an address, and the address of a map position.
You’ll learn the details of using maps, the Geocoder, and location-based services in Chapter 8.
Background Services
Android supports applications and services designed to run invisibly in the background.
Modern mobiles are by nature multifunction devices; however, their limited screen sizes means that
generally only one interactive application can be visible at any time. Platforms that don’t support
background execution limit the viability of applications that don’t need your constant attention.
Background services make it possible to create invisible application components that perform automatic
processing without direct user action. Background execution allows your applications to become event-
driven and to support regular updates, which is perfect for monitoring game scores or market prices,
generating location-based alerts, or prioritizing and prescreening incoming calls and SMS messages.
Learn more about how to get the most out of background services in Chapter 9.
SQLite Database for Data Storage and Retrieval
Rapid and efficient data storage and retrieval are essential for a device whose storage capacity is limited
by its compact nature.
Android provides a lightweight relational database for each application using SQLite. Your appli-
cations can take advantage of this managed relational database engine to store data securely and
efficiently.
By default each application database is sandboxed — its content is available only to the application that
created it — but Content Providers supply a mechanism for the managed sharing of these application
databases.
Databases and Content Providers are covered in detail in Chapter 7.
Shared Data and Interapplication Communication
Android includes three techniques for transmitting information from your applications for use else-
where: Notifications, Intents, and Content Providers.