Android Course in London

Course description

This practical four-day course covers application development for Android devices. The first day provides an introduction to object-oriented programming in Java, concentrating on topics that are relevant to Android. During the following three days, a number of Android applications are assembled. Theory is combined with practical exercises, deploying monitoring and debugging the applications on real and virtual devices.

We have been training Developers Since 1999. Call us today to discuss how we can train your staff to build & maintain Android applications View Course Outline.

We have been training Developers Since 1999. Call us today to discuss how we can train your staff to build & maintain Android apps.
Telephone 0118 966 4994 or email

Scheduled Dates

Course hours are 9:00 to 5:00 at serviced offices in central London, near Paddington station
What you will learn
  • Fundamentals of Java programming, as appropriate for Android
  • Android architecture, application components, resources and the manifest
  • User interfaces and the life cycle of an Activity
  • Using fragments to optimise the UI for different device types
  • Persisting data using the file system and the SQLite database
  • Networking, web services and asynchronous tasks
  • Using Content Providers to share data between apps
  • Background Services and Broadcast Receivers
  • Drawing shapes and images
Who should attend

Application developers who want to develop and deploy robust apps for the Android platform


An introduction to Java is included on day one; previous use of a programming language such as Java, C#, C++, PHP or VB is recommended

Course instructor

Originally a Civil Engineer with a BSc from London University the course instructor, Simon Dineen, has 20 years' experience in Java training and development.

  • Absolutely excellent, fast-paced but that’s what I was hoping for. Good selection of topics.

  • Trainer was approachable and very knowledgeable. I appreciated the time and patience given to me as I was the slowest on the course.

  • I enjoyed the fast pace of the course. It’s given me the concepts which I now need to improve through practice.

  • Really enjoyable. Would recommend. Thanks

  • Fantastic introduction; so much information covered in one week.

  • It was highly intensive but easy to follow

  • Just wanted to say thanks for the course last week. I got a huge amount out of it. I really liked the way you built up the different components/apps over the week.

Course outline

1. Java Programming for Android

  • Introduction to the IntelliJ development environment
  • Classes and objects, including fields, methods and constructors
  • Inheritance, method overriding and polymorphism
  • Exception handling including throwing and catching exceptions
  • Interfaces, generics and the collections framework

2. Introduction to Android

  • Versions, devices and architecture
  • Using Android Developer Tools and configuring an Android Virtual Device
  • Anatomy of an Android application
  • Overview of application components, resources and the manifest

3. Activities

  • Understanding the lifecycle of an activity
  • Overriding callback methods and using the Log class
  • The back stack and saving instance state

4. Intents

  • Using an explicit Intent to start an activity
  • Understanding implicit intents and declaring intent filters
  • Starting built in activities including contacts, web browser and phone dialler

5. User Interfaces

  • Views and ViewGroups
  • Using XML layouts to define the visual structure for a user interface
  • Handling events
  • Using an Adapter to bind data to a ListView
  • Handling selections in a ListView

6. Resources

  • Externalising application resources such as strings, layouts and images
  • Accessing resources from code and XML
  • Providing alternative resources for specific device configurations
  • Assembling and inflating a menu
  • Defining and applying Styles and Themes

7. File streams

  • Using Shared Preferences to store user data
  • Reading and writing from Internal Storage and using raw resources
  • Using external storage and setting permissions

8. Using a database

  • Setting up a SQLITE database
  • Writing methods to interact with the database
  • Displaying a result set as a list
  • Writing an app that enables users to insert, update and delete records

9. Content Providers

  • Content Provider Basics
  • Building an app that retrieves contact details from the Contacts Provider
  • Creating a Content Provider, using the database configured in the previous section
  • Building an app that connects to the above content provider

10. Networking and web services

  • Streaming files, including the database built previously, from a webserver
  • Connecting to a network in a background thread
  • Retrieving and displaying data from a JSON service

11. Services

  • Building and controlling a service that performs a background task
  • Comparing the Service and IntentService classes

12. Broadcast Receivers

  • Broadcasting an Intent object
  • Building an app that receives the above broadcast
  • Receiving system broadcasts
  • Sending and receiving SMS messages

13. Fragments

  • Overview of Fragments and their life cycle
  • Declaring a fragment in an activity's layout file
  • Adding and removing fragments at runtime
  • Building a fragment based app, customised for both smartphones and tablets

14. Graphics

  • Drawing shapes, images and text onto a custom View
  • Building the graphical part of a chess app
  • Responding to touch events, enabling moving pieces on the board

15. Deployment

  • Code Style Guidelines
  • Packaging and deploying to the Google app store