The Android Application Development course provides engineers with a fast, cost-effective way to acquire the skills to use Android in embedded systems development. Attendees get an in-depth look at how to set up for Android development and quickly start creating applications and appliances that run this platform.
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
- Getting the SDK
- Installing and configuring the SDK
- Virtual targets vs. real targets
- Connecting real targets to your development environment
- Building Android from source
- LAB: Setup of development environment
Building/Debugging Code for Android
- Android's version of Java
- Procedural vs. declarative approaches to Android code
- Enabling the Eclipse GUI for Android development
- Connecting and using the Android debugging interface
- Dalvik debug monitoring service
- LAB: Command-line Android development
- LAB: Android development in Eclipse
Day 2
Structure and Life Cycle of Applications
- What makes an Android application?
- Specifying the UI via XML vs. via Java
- Android activity manifest
- Application resources and assets
- LAB: Adding application resources
Key Android Services
- Understanding "intents"
- Activities and intents
- Accessing the Locale
- Dynamic string substitution for localization
- LAB: Using intents
Graphics in Android
- Android graphics support for 2D and 3D
- Graphics APIs
- Drawing with Java
- android.graphics libraries
- Approaches for 2D graphics
- 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
- Built-in media decoding formats
- Audio and video recording
- LAB: Audio
Location Services
- Course-grain vs. fine-grain location services
- GPS-based location requirements
- Location manager service
- Google APIs
- 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
- Accelerometers, digital compass, etc.
- Integrating sensors into Android
- 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
- Calling out to Linux
- Debugging native code
- Porting Android
- Supporting Linux
- Integrating LCDs
- Sound and graphics services
- Android Boot Sequence
init language
Please see course description for the whole course agenda