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

Reach for the stars and start coding today!

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.

directions_walkLevel: 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.

directions_walkLevel: Beginner

For experienced developers

If you've been coding for a while, we have courses to help you build your Android skills and learn best practices.

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.

directions_rundirections_runLevel: 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!)

new_releases 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.

directions_runLevel: Intermediate

Advanced Android Development

new_releases 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.

directions_runLevel: 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.

directions_runLevel: 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.

directions_runLevel: 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.

directions_runLevel: 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.

directions_runLevel: Intermediate

Dive deeper with free Google Developers Training materials

Free and available for classroom use or self-study, the Advanced Android Development course is meant for Android developers who want to go deeper. Each of the tutorials listed here has a companion concept chapter and slide deck.

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.

directions_runLevel: 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.

directions_runLevel: 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.

directions_runLevel: 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.

Learn more and sign up