Day 1
Introduction to Android
- Android History
- Open Handset Alliance
- Android Architecture
- Android and Linux
- Android Security Concepts
Setting up for Android Development
- Platform Requirements
- Virtual Targets vs. Real Targets
- Lab: Setup of Development Environment
Building/Debugging Code for Android
- Android's Version of Java
- Dalvik VM vs. J2SE VM
- Lab: Android Development in Eclipse
Day 2
Structure and Life Cycle of Applications
- What Makes an Android Application?
- Applications Spanning Activities
- Activity Life Cycle
- Lab: Adding Application Resources
Key Android Services
- Understanding "Intents"
- Activities and Intents
- Dynamic String Substitution for Localization
- Lab: Using Intents
Graphics in Android
- Android Graphics Support for 2D and 3D
- Drawing with XML
- OpenGL 3D Graphics Support
- Lab: Graphics
User Interface Events
- Event Listeners
- Widgets and Battery Utilization
- Lab: User Interface Events
Telephony Support
- Telephony Basics
- CDMA vs. GSM vs. LTE
- Sending/Receiving SMS Messages
- Lab: SMS Message Handler
Day 3
Sound and Multimedia Support
- Android Sound Architecture
- Multimedia Framework
- OpenCORE Architecture
- Audio and Video Recording
- Lab: Audio
Location Services
- Course-Grain vs. Fine-Grain Location Services
- GPS-Based Location Requirements
- Lab: Location
Bluetooth Services
- Bluetooth Protocol Stack
- Enabling Bluetooth in the Android Manifest
- Bluetooth Socket and Thread Example
Platform Integration
- Making Linux Devices Available to Android
- Managing Sensors
- Accelerometers, Digital Compass, etc.
- Integrating into libsensors
- Power Management
- Driver-Space Wake Lock API
- User-Space Wake Lock API
- Wake Lock Types
- Power Management Callbacks
- Android Native Development Kit (NDK)
- How NDK Works
- NDK Platform Requirements
- Debugging Native Code
- Porting Android
- Supporting Linux
- Integrating LCDs
- Sound and Graphics Services
- Android Boot Sequence
Getting Your Application into the Android Marketplace
- Signing Your Application
- Debug vs. Release Mode of Applications
- Adding Your Key and Setting up a Google Account
- Charging for an Application
- Revenue from Advertising
- Fees for Applications
- Supporting Your Customers
- Lab: Deploying Your Application
Summary
- Where We've Been
- Where to Next
- Suggested Resources
- Android Reference Books