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.
About the course
The course materials include:
- A practical workbook: Android Developer Fundamentals Course—Practicals
- A concept reference: Android Developer Fundamentals Course—Concepts
- Slide decks (for optional use by instructors)
- Videos of lectures (for reference by instructors and developers)
- Source code in GitHub for apps that developers create during the practical exercises
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.
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.
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.
Homework for Android Developer Fundamentals
For lessons in the Android Developer Fundamentals course, suggested homework assignments are available as of February 2017.
Videos for Android Developer Fundamentals
Videos of lectures are available on YouTube as of January 2017.