About this course

Course type Premium
Course code QAANDDEV
Duration 5 Days

Please note - this course now makes use of Android Studio. Eclipse/ADT is no longer utilised.

This is a technical course that introduces programming Android applications. It is suitable for programmers starting new projects on Android, or for those maintaining existing applications.

Based on Linux, Android has rapidly emerged as the platform of choice for a wide range of mobile devices. In the short time since its first distribution in 2007, it has become one of the most widely used and prolific operating systems. Applications for Android are mostly written in the popular programming language Java, and a well-developed SDK is provided by Google, together with an emulator for development on the desktop.

This is an instructor led presentation with hands on exercises course using the Android development environment on Microsoft Windows, but is equally applicable to other.


  • Previous knowledge and experience of Java is assumed, and some knowledge of XML is required.

  • Experience of using Android at a user level is not assumed but will be an advantage, as will previous experience of Eclipse.

Delegates will learn how to

At the end of this course you will be able to:

  • Use Android Studio with the Android emulator as a productive development environment to write and run Android applications
  • Understand Android features
  • Exploit the Android developer's SDK
  • Appreciate the differences between versions of Android
  • Design and write effective user interfaces for Android applications
  • Exploit hardware features available on a variety of devices
  • Effectively use external services and resources


1. Introduction to Android™

  • Copyrights and legal stuff
  • Rationale and history
  • Hardware
  • Software versions
  • Architecture
  • The Dalvik VM
  • Apps!
  • Current Android platforms
  • Telephone and tablet

2. The Development Environment

  • The emulator environment
  • A first project in Android Studio
  • Creating the AVD from Android Studio
  • Running our project

3. Use of Java in Android

  • OO concepts review
  • Java language review
  • Introduction to Android classes
  • Android components
  • Other Android classes
  • Application security
  • The Manifest File - Public API

4. Developer Tools

  • SDK tools
  • Android Debug bridge - adb
  • Android Device Monitor
  • Dalvik Debug Monitor Service - DDMS
  • The shell
  • logcat
  • Android lint
  • SD card
  • What about a real device?
  • Android Device Chooser

5. UI - Layouts and Views in XML

  • Activities
  • Views
  • Layouts
  • Use of XML for UI components
  • Widgets
  • Storing and using literal values

6. UI - Layouts and Views in Java

  • Layouts, Widget ids and R.java
  • Using literal values (revisited)
  • Handling events
  • Getting and setting view values
  • ListViews

7. UI - Menus

  • Menus
  • Menus in XML
  • The code for option menus
  • The code for context menus

8. UI - Activity life-cycles

  • The 'back stack'
  • Activity life-cycles and call-backs
  • Saving state
  • Persisting state
  • Launching a new activity
  • Declaring activities in the manifest file

9. Services and Receivers

  • What is a Service?
  • The IntentService class
  • Declaring Services in the manifest file
  • Status Bar and notifications
  • Broadcasts and BroadcastReceivers

10. Content Providers

  • Standard providers
  • Querying and changing data
  • Use of URIs
  • The query() method
  • Inserting, deleting and updating data
  • Querying and retrieving data on another thread
  • Writing your own content provider

11. Network Access

  • Overview
  • Checking connectivity
  • Internet access
  • Bluetooth
  • Introduction to Wi-Fi Direct and NFC

12. Data Access

  • Internal Storage - private data
  • External Storage - public data
  • Persisting state with SharedPreferences

13. SQLite

  • What is SQLite?
  • SQLite data-types
  • SQLite table definitions
  • SQLite data manipulation
  • Using SQLite in Android
  • Using SQLite
  • Using SQLite with a Content Provider
  • Using ADB and sqlite3

14. Devices and External Services

  • Telephony
  • Using a camera
  • Location, location, location: GPS (and friends)
  • Introduction to Google Maps

15. Further UI Topics

  • Designing for hardware variety
  • Using multiple layouts
  • Fragments
  • The Action Bar

16. Testing

  • What should I test?
  • Testing platforms
  • Android JUnit extensions
  • UI Application Exerciser Monkey
  • monkeyrunner
  • Other tools

17. Publishing

  • The publishing process
  • Signing
  • The Generate Signed APK Wizard
  • ProGuard
  • Versioning
  • Android Asset Packing Tool - aapt
  • Android Market / Google Play
  • The Android Developer Console

18. Beyond Java

  • Other development techniques
  • Native Code
  • Native Development Kit - NDK
  • Mono - C#
  • Scripting Layer for Android - SL4A
Premium Course

5 Days


This course is authored by QA

Delivery Method

Delivery method

Classroom / Attend from Anywhere

Receive classroom training at one of our nationwide training centres, or attend remotely via web access from anywhere.

Find dates and prices

Online booking is currently not available for this course, to find out more please call us on 0345 074 7998 or email us at info@qa.com to discuss how we can help.

Trusted, awarded and accredited

Fully accredited to ensure we provide the highest possible standards in learning

All third party trademark rights acknowledged.