Welcome to the Android Developer Fundamentals course.

This course provides a series of codelabs that lead you through the fundamentals of building Android apps. In this course, you learn basic Android programming concepts and build a variety of apps. You start with Hello World and work your way up to apps that schedule jobs, update settings, and use Architecture Components.

About the course

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

As you work through the codelabs that make up this course, you create apps. The source code for starter apps and the solution code for the apps that you create is in GitHub.

Each codelab in the course assumes that you have learned the material previously covered in the course. We strongly recommend that you work through the codelabs in order.

If you're interested in teaching this course as an instructor-led class, you can find links to additional materials, including slide decks and concept guides, at developer.android.com/courses/fundamentals-training/overview-v2.

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

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

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.

This description is a summary of the 11 codelabs that make up Unit 1: Get started in the Android Developer Fundamentals course. We recommend that you use the lessons in codelab form, but if you need a PDF file for the unit, it's provided in the PDFs for Android Developer Fundamentals (V2) folder.

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.

This description is a summary of the 9 codelabs that make up Unit 2: User experience in the Android Developer Fundamentals course. We recommend that you use the lessons in codelab form, but if you need a PDF file for the unit, it's provided in the PDFs for Android Developer Fundamentals (V2) folder.

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.

This description is a summary of the 6 codelabs that make up Unit 3: Working in the background in the Android Developer Fundamentals course. We recommend that you use the lessons in codelab form, but if you need a PDF file for the unit, it's provided in the PDFs for Android Developer Fundamentals (V2) folder.

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.

This description is a summary of the 4 codelabs that make up Unit 4: Saving user data in the Android Developer Fundamentals course. We recommend that you use the lessons in codelab form, but if you need a PDF file for the unit, it's provided in the PDFs for Android Developer Fundamentals (V2) folder.

Start learning Android development by taking the first codelab in the Android Developer Fundamentals course, 1.1: Android Studio and Hello World.