Android Developer Fundamentals (Version 2)

Android Developer Fundamentals (V2) is an instructor-led course created by the Google Developers Training team. In this course, you learn basic Android programming concepts and build a variety of apps, starting with Hello World and working your way up to apps that schedule jobs, update settings, and use Architecture Components.

What's new in the course?

Version 2 of the course is available as of September 2018. The course has been updated to reflect best practices for more recent versions of the Android framework and Android Studio. For more details, see the release notes. The original Android Developer Fundamentals (V1) course is still available, if you need to refer to it.

new_releases Other news

About the course

To take the Android Developer Fundamentals (V2) course, you must have Java programming experience. The course materials include:

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

The materials are freely available online for use by instructors, or for self-study by anyone who knows the Java programming language.

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

What does the course cover?

The course includes five teaching units, each of which includes several lessons:

  • Unit 1: Get started
  • Unit 2: User experience
  • Unit 3: Working in the background
  • Unit 4: Saving user data

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: Saving user data

This unit discusses how to store user data. You learn how to use shared preferences to save simple key value pairs, then you learn how to use the Room database to save, retrieve, and update user data. This unit also introduces you to the Android Architecture Components, which represent best practices for structuring your app.

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 (V1) 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 Videos for Android Developer Fundamentals

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