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.
About the course
To take the Android Developer Fundamentals (V2) course, you must have Java programming experience. The course materials include:
- Practical workbooks in the form of codelabs, which include suggested homework assignments: Codelabs for Android Developer Fundamentals (V2)
- Concept reference chapters: Android Developer Fundamentals (Version 2) — Concepts
- Slide decks
- Source code in GitHub for starter apps and solution code for apps that you create during the practical codelabs
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.
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.
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.
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.
Indonesian version available
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.
Videos for Android Developer Fundamentals
Videos of lectures are available on YouTube as of January 2017.