Developing Android Applications

5 Day Course
Code QAANDDEV

This course has been retired. The Developing cross-platform apps with C# using Xamarin course is recommended for anyone looking to gain the skills required to develop apps for Android.

Modules

Hide all

1. Introduction to Android (9 topics)

  • 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 (4 topics)

  • The emulator environment
  • A first project from Eclipse
  • Creating the AVD from Eclipse
  • Running our project

3. Use of Java in Android (7 topics)

  • 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 (10 topics)

  • 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 (6 topics)

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

6. UI - Layouts and Views in Java (5 topics)

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

7. UI - Menus (4 topics)

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

8. UI - Activity life-cycles (6 topics)

  • 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 (5 topics)

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

10. Content Providers (7 topics)

  • 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 (5 topics)

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

12. Data Access (3 topics)

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

13. SQLite (8 topics)

  • 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 (4 topics)

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

15. Further UI Topics (4 topics)

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

16. Testing (6 topics)

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

17. Publishing (8 topics)

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

18. Beyond Java (5 topics)

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

Prerequisites

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.

Course PDF

Print

Sections