The objective of the course is to recognize the building blocks of an Android application in order to be able to design well behaving Android applications.

Android key building blocks such as Activities, Services, Broadcasts and Broadcast Receivers, Intents and Content Providers are inspected during the course. Also the dynamics of the key building blocks is paid a great deal attention to in order to answer the question of how the components interact at runtime. Audience will also gain an overall understanding of HAL and JNI.

Intended audience
Individuals who already can write basic Android applications but are looking for more in-depth understanding of the key concepts to be able to design the architecture of a complex Android application.   

Once completed the course you will be able to:

  • Pick the right Android building blocks for the right purpose while designing an Android application
  • Understand the constraints of Android Application development and can think of means to overcome these
  • Split any Android application into the building blocks and understand the role of each block
  • Get started in designing the architecture for Android applications that are made of Activities, Content Providers, Services or any other Android key building blocks
  • Design a simple service API
  • Implement a Service component by implementing the service API
  • Use and implement Broadcast Receivers
  • Understand the role and usage if Intents in an Android system
  • Understand the reasons for implementing something by using JNI
  • Understand what is Android HAL and its relation to other Android components


Course duration
3 days

Course format:
40% of lectures and 60% of hands-on exercises.

Good knowledge of object-oriented Java programming and basic development tools.

Preinstalled software
Eclipse, Android SDK, ADT