Android Developer Fundamentals (Version 1)

Android Developer Fundamentals is an instructor-led course created by the Google Developers Training team. Developers taking the course learn basic Android programming concepts and build a variety of apps, starting with Hello World and working their way up to apps that use content providers and loaders.

Version 2 of this course is now available! The course has been updated to reflect best practices for more recent versions of the Android framework and Android Studio. For details, see the Android Developer Fundamentals (Version 2) overview.

new_releases Latest news

About the course

The course materials include:

Each lesson contains a slide deck, a concepts chapter, and in most cases, one or more practical exercises. As developers work through the exercises, they create apps to practice and perfect the skills they're learning. Some lessons are purely conceptual and do not have practicals.

The course is offered as an in-person course at selected colleges, facilitated by college faculty. The materials are also available online for self-study by anyone who knows the Java programming language.

Android Developer Fundamentals prepares developers to take the exam for the Associate Android Developer certification.


Developers taking the course must have Java programming experience.

Android Developer Fundamentals is intended for computer science and engineering undergraduates who have already learned the Java programming language.

How do I offer the course?

The course materials are available for instructors to freely use in classroom settings, or for any motivated developer to use for self-study.

Have more questions? Visit the Developer Training FAQ.

What does the course cover?

Android Developer Fundamentals includes five teaching units:

  • Unit 1: Get started
  • Unit 2: User experience
  • Unit 3: Working in the background
  • Unit 4: All about data
  • Unit 5: What's next

Unit 1: Get started

This unit covers installing Android Studio, understanding project structure, building your first app, creating activities, testing your apps, and using the Android Support Library.

First, you deploy a simple Hello World app. You go on to create an app with a simple activity, and then you create a multi-screen app that passes data between activities. You also learn how to use the Android Support Library to provide backward-compatibility with earlier versions of the Android system for your app.

Unit 2: User experience

This unit covers how to get input from the user, implement navigation strategies, use themes and styles, test your user interface, and follow Material Design principles.

You create apps that use menus and tabs for navigation, and input controls such as spinners and picker dialogs to get information from the user. You learn how to extract resources to create a style from an instance of a user interface element. You write an app that displays a word list in a recycler view (and you learn why it's better to use a recycler view than a plain scrolling list).

You also build a score-keeping app to explore Material Design guidelines.

Unit 3: Working in the background

This unit covers how to do background work, how to schedule tasks, and how to trigger events. It covers the performance implications of executing work in the background, as well as best practices for reducing battery drain. You learn how Android determines which apps to keep running and which to stop when resources run low.

You write an app that connects to the Internet in a background thread to find the author of any book. You also build apps that send notifications and schedule tasks, and you learn how to implement scheduling functionality for apps that run on earlier versions of Android.

Unit 4: All about data

This unit is all about data. It covers how to store data, update it, query it, load it, and make it available outside your app.

You build a word list and store the words in a database. To understand content providers, you build a minimal content provider app. Then you add a content provider to the word list app to provide an interface for querying and updating the list. You finish by creating a separate app that uses a loader to load the word list via the content provider.

Unit 5: What's next?

This unit covers permissions, app performance, and security best practices. It explains how to run a trial of your app so your family and friends can try it out.

This unit also introduces some of the many additional Android features that you can add to your app, and explains how to publish your app in Google Play.

Latest news

new_releases Version 2 of Android Developer Fundamentals course available

Android Developer Fundamentals (V2), an update to the Android Developer Fundamentals course, is available as of September 2018.

new_releases Advanced Android Development course available

Advanced Android Development, which builds on the skills learned in the Android Developer Fundamentals course, is available as of November 2017.

new_releases Indonesian version available

The full Android Developer Fundamentals course, including the practical workbook and the concept reference, is available in Indonesian as of March 2017.

new_releases Phone and SMS course available

For developers who've completed the Android Developer Fundamentals course, an optional add-on course is available as of March 2017. For details, see Android Apps – Phone Calls and SMS.

new_releases Homework for Android Developer Fundamentals

For lessons in the Android Developer Fundamentals course, suggested homework assignments are available as of February 2017.

new_releases Videos for Android Developer Fundamentals

Videos of lectures are available on YouTube as of January 2017.