Android Application Development

Buy Now

Course Description

Course Results

Products Supported

Who Should Attend

Course Format

Please see course datasheet for further details here Buy Now

Course Details Summary

  • Duration: 3 Days
  • Course Information: View
  • Format: Lectures and Labs
  • Type: Instructor-led
  • Price/Schedule: View

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.

After this course, participants will be able to perform the following:

  • Explain how Android technology is used in embedded platforms
  • Set up and use the Android Development Tools (ADT) and Android software development kit (SDK)
  • Deploy code to both the Android emulator as well as Android-based devices
  • Use a broad range of Android APIs including multimedia, location services, power management, 2D and 3D graphics, user interface events, and much more
  • SDK Platform Android 2.2, API 8
  • Engineers and developers who are interested in creating embedded systems based on Android technology

Day 1

Introduction to Android

  • Android history
  • Open handset alliance
  • Android architecture
    • Android versions
  • 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

Prerequisite Courses

  • None

Prerequisite Skills

  • Familiarity with embedded systems and software development concepts
  • Basic understanding of C++ or Java languages and object-oriented development
  • Some familiarity with Linux or Unix-based commands preferred
  • This three-day expert-led course consists of lectures and lab sessions.
  • Attendees use ADT, Android SDK, Eclipse editor, and QEMU-based Android emulator to gain experience with the topics presented.
  • Participants examine and exercise simulated network topologies in hands-on labs.
  • Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Subscribe to Wind River