1.1. A LITTLE BACKGROUND1.1.1. The Not-So-Distant Past1.1.2. The Future1.2. WHAT IT ISN'T1.3. ANDROID: AN OPEN PLATFORM FOR MOBILE DEVELOPMENT1.4. NATIVE ANDROID APPLICATIONS1.5. ANDROID SDK FEATURES1.5.1. Access to Hardware, Including Camera, GPS, and Accelerometer1.5.2. Native Google Maps, Geocoding, and Location-Based Services1.5.3. Background Services1.5.4. SQLite Database for Data Storage and Retrieval1.5.5. Shared Data and Interapplication Communication1.5.6. Using Widgets, Live Folders, and Live Wallpaper to Enhance the Home Screen1.5.7. Extensive Media Support and 2D/3D Graphics1.5.8. Optimized Memory and Process Management1.6. INTRODUCING THE OPEN HANDSET ALLIANCE1.7. WHAT DOES ANDROID RUN ON?1.8. WHY DEVELOP FOR MOBILE?1.9. WHY DEVELOP FOR ANDROID?1.9.1. What Has and Will Continue to Drive Android Adoption?1.9.2. What Does It Have That Others Don't?1.9.3. Changing the Mobile Development Landscape1.10. INTRODUCING THE DEVELOPMENT FRAMEWORK1.10.1. What Comes in the Box1.10.2. Understanding the Android Software Stack1.10.3. The Dalvik Virtual Machine1.10.4. Android Application Architecture1.10.5. Android Libraries1.11. SUMMARY