Android Online Training Course
Introducing the Android Platform
● Defining device characteristics● Exploring the Android Market
● Establishing the development environment
● ADT plugin
● Java
● SDK
● Emulator
● Analyzing components of the architecture
Leveraging Application Fundamentals
Building mobile applications
● Exposing the lifecycle events● 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
● Assessing available widgets● Building the layout
● Connecting a view to an activity
● Positioning form elements
Working with resource declarations
● Declaring component definitions and layouts● Internationalizing applications
● Handling multiple screen resolutions
● Exploiting dynamic resource generation
Processing User Input
Communicating with the user
● Creating and displaying Toast● Generating status bar notifications
● Collecting confirmation with dialogs
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 aliases with projections
● Retrieving data with cursors
Consuming and creating content providers
● Accessing shared data resources● Addressing content providers with URIs
● Binding to UI components
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● HTTP requests
● Socket communications
Developing clients for Web services
● Connecting to RESTful services● Creating and parsing JSON
Enhancing the User Experience
Working with tablets
● Developing for the Honeycomb platform● Manipulating objects with drag and drop
● Optimizing applications for high screen resolution
● Combining fragments into a multipane UI
Leveraging geolocation and mapping capabilities
● Plotting positions on Google maps● Establishing location through GPS, Cell-ID and WiFi
Publishing Applications
● Specifying required permissions● Versioning, packaging and signing software
● Uploading to the Android Market