Introducing the Android Platform
Establishing the development environment
Analyzing components of the architecture
Leveraging Application Fundamentals
Building mobile applications
Creating activities to process user input
Implementing views to build the User Interface (UI)
Packaging applications for deployment
Developing unit tests
Supporting asynchronous behavior
Performing background tasks with services
Communicating with intents
Creating User Interfaces
Selecting visual components
Building the layout
Connecting a view to an activity
Positioning form elements
Working with resource declarations
Declaring component definitions and layouts
Handling multiple screen resolutions
Localizing applications
Processing User Input
Communicating with the user
Creating and displaying Toast
Generating status bar notifications
Logging key application events
Interacting with the UI
Responding to user input events
Launching activities with intents
Writing Java event handlers
Generating context and option menus
Managing the activity lifecycle
Integrating with the Android system
Persisting data in response to notifications
Persisting Application Data
Selecting storage options
Contrasting internal and external storage locations
Saving application configuration with SharedPreferences
Manipulating the SQLite database
Executing queries to locate information
Specifying column selections with projections
Consuming and creating content providers
Accessing shared data resources
Addressing content providers with URIs
Maintaining System Responsiveness
Avoiding Application Not Responding (ANR) errors
Unloading the UI thread
Designing for asynchronous execution
Building background services
Launching IntentServices
Declaring services in the manifest
Exchanging Data over the Internet
Interacting with server-side applications
Synchronizing Android devices with servers
Communicating via HTTP clients
Developing clients for web services
Connecting to RESTful services
Creating and parsing JSON
Enhancing the User Experience
Incorporating the Action Bar
Manipulating objects with drag and drop
Supporting orientation and multiple screen resolutions with resources
Combining fragments into a multi-pane UI
Leveraging geolocation and mapping capabilities
Plotting positions on Google Maps
Establishing location through GPS, Cell-ID and WiFi