Build your Android development skills
Whether you're new to programming or an experienced developer, we have a range of courses to teach you Android app development, from your first app to advanced topics such as localization, media, advanced graphics, and performance.
keyboard_arrow_rightFor new programmers
keyboard_arrow_rightFor experienced developers
keyboard_arrow_rightDive into deeper topics
For new programmers
Android Development for Beginners
A free, online, self-paced series of courses for aspiring Android developers with no prior programming experience. In the first course, you build your first Android app. The later courses in the series teach you how to add more functionality to your app, connect to the internet, set up databases, and store data in your app.
Level: Beginner
Free, online, self-paced courses in Android Development for Beginners:
1. Android Basics: User Interface
2. User Input3. Multi-screen Apps
4. Networking5. Data Storage
Android Basics Nanodegree
If you enroll in the Android Basics Nanodegree program, you get guidance and help as you work your way through Udacity's beginner courses for Android. This program is a great way to build your first portfolio of apps and earn a Nanodegree.
Level: Beginner
For experienced developers
Google Developer Codelabs
Have a spare hour and want to learn a new Android development trick? Each codelab provides a focused, self-contained coding experience that you can complete on your own.
Codelabs are free, self-paced, online modules.
Level: Intermediate to Advanced
keyboard_arrow_rightBuild Your First Android App
in Kotlin
keyboard_arrow_rightBuild Your First Android App
in Java
keyboard_arrow_rightMore Android codelabs
Android Developer Fundamentals (V2 now available!)
Designed and updated by the Google Developers Training team
This end-to-end course teaches you basic Android programming concepts. You build a variety of apps, starting with Hello World and working your way up to apps that schedule jobs, update settings, and use Android Architecture Components. Each lesson includes a practical codelab with solution code in GitHub, concept documentation, and a slide deck.
Available for instructors to freely use in classroom settings, or for self-study by any motivated developer who knows the Java programming language.
Level: Intermediate
Advanced Android Development
Designed by the Google Developers Training team
Learn ways to expand the user experience and improve your app's performance. Add advanced features to your apps, including custom views, animations, and geo features. Each lesson includes a tutorial with solution code in GitHub, concept documentation, and a slide deck.
Available for instructors to freely use in classroom settings, or for any motivated developer to use for self-study.
Level: Advanced
Developing Android Apps
Learn best practices as you build the Sunshine weather app. In the updated version, you build sample apps as you go through the course.
This is a free, self-paced, online course.
Level: Intermediate
Android Developer Nanodegree
Build a portfolio of projects as you earn your Android Developer Nanodegree. In this series of online, self-paced courses, you receive personalized guidance and help as you learn the tools, principles, and patterns that underlie all Android development.
All courses are also available individually at no cost.
Level: Intermediate
Advanced Android App Development
This follow-on course to Developing Android Apps teaches you how to follow Google's app-quality guidelines as you productionize and publish your Android apps.
This is a free, self-paced, online course.
Level: Advanced
Kotlin Bootcamp for Programmers
Learn the essentials of the Kotlin programming language from Kotlin experts at Google. Whether you’re a Java developer or a programmer in another object-oriented language, you’ll gain the skills you need to build your next project in Kotlin.
This is a free, self-paced, online course.
Level: Intermediate
Dive deeper with free Google Developers Training materials
Using the device location
Build an app that displays the device's last known location as latitude and longitude coordinates, converts those coordinates into a physical address, and receives periodic location updates.
Level: Advanced
Adding a Google Map to your app
Build an app that integrates Google Maps and uses features like location markers, map styling, Street View, and location tracking.
Level: Advanced
Creating a custom view
Build an app that uses custom views, which inherit behavior and appearance attributes from their parent views and can override those attributes.
Level: Advanced
Google Developers Certification
The Associate Android Developer Exam demonstrates the type of skill that an entry-level Android Developer should have as they begin their career.
By passing this performance-based exam and earning the Associate Android Developer Certification, you prove that you're competent and skilled in tasks that a developer typically performs.

