A Comprehensive Introduction To Android

5 Day Course
Hands On
Code PSD145

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

Modules

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.

Prerequisites

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

Print

Sections