A Comprehensive Introduction To Android

5 Day Course
Hands On
Code PSD145

This course has been retired. Please view currently available Android Training Courses.


Hide all

Running Android (6 topics)

  • Using both the SDK emulator and real devices (G1 & ADP).
  • Using Android Debug Bridge (adb) and the Dalvik Debug Monitoring System (DDMS).
  • Accessing the Android file system, pushing and pulling files.
  • Accessing and filtering system logs.
  • Examining device processes, virtual machines and threads.
  • Getting familiar with the Android UI and setting up development options using Dev Tools.

The Android Software Development Environment (5 topics)

  • Finding your way around the Software Development Kit (SDK)
  • Navigating javadocs, an overview of the SDK tools and sample code.
  • Using the Eclipse Android Developer Tools (ADT) plugin.
  • Eclipse' relation to the underlying SDK tools, using different perspectives and Eclipse views.
  • Runtime configurations, Android Virtual Devices (AVDs) etc.

Components and their inter-relationships (4 topics)

  • Creating both activities and services.
  • Using both explicit and implicit intents both within-application and cross-application.
  • Returning results and bundling extras in intents.
  • Creating broadcast listeners and both listening for system broadcasts and sending your own broadcasts.

Data Storage (5 topics)

  • Data security rules in Android.
  • Reading and writing locally accessible and sdcard files.
  • Reading and writing preferences.
  • Setting up a SQLite database and sharing data as a content provider.
  • Accessing other applications' data through content providers.

Threading (4 topics)

  • The use of threading in Android.
  • The UI thread and guidance on when to spawn separate threads.
  • Android's Looper, Async and Handler classes.
  • How to manage worker threads from component lifecycle methods.

Views (5 topics)

  • An overview of the View hierarchy.
  • Building user interfaces from both XML and Java. Using layout classes and widgets.
  • Using Eclipse to build and modify UI layouts. Creating custom views.
  • Handling user input and adding menus.
  • Overview of the user interface thread and drawing cycle.

Graphics (6 topics)

  • Overview of the graphics subsystem: the 2D SGL/SKIA graphics library, pixel flinger, surface flinger, open GL and hardware acceleration.
  • Essential components of the 2D library: canvases, paints and shaders.
  • Using the 2D graphics library: drawing with canvas primitives.
  • Creating graphical objects using the Drawable hierarchy.
  • Creating 3D animations using rotation and translation.
  • When and how to use a separate thread for high performance graphics

Testing and Deployment (2 topics)

  • Writing Junit test cases and using 'the monkey' for UI testing.
  • Using instrumentation, signing and releasing applications.

Media (2 topics)

  • Playing and recording video and audio.
  • Using the Camera.

Services (3 topics)

  • Starting, stopping services and binding to services.
  • An overview of how to use aidl.


Prior experience of programming for mobile and/or embedded environments with another mobile OS is not required. Attendees should, however, be experienced Java developers and have some knowledge of XML, SQL and integrated development environments.

Course PDF