Android Online Training

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