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

videocam Video-based

A free, self-paced series of courses for aspiring Android developers. Learn how to build your first Android app, add functionality to the app, connect to the internet, and set up databases.

directions_walkLevel: Beginner

1. Android Basics: User Interface
2. User Input
3. Multi-screen Apps
4. Networking
5. Data Storage

Android Basics Nanodegree

videocam Video-based

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.

code 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

Build Your First Android App in Kotlin

Build Your First Android App in Java

More Android codelabs

Kotlin

Know object-oriented programming and want to learn Kotlin for Android programming and other purposes? Try one of these courses.

Developing Android Apps with Kotlin

videocam Video-based

Learn to architect and develop Android apps in Kotlin, using industry-proven tools and libraries. Try these Kotlin techniques to create Android apps in less time, with fewer errors and less code.

This is a free, self-paced course.

directions_runLevel: Intermediate

Kotlin Android Fundamentals

code Codelab-based

Build a variety of apps while you learn basic Android programming concepts using Kotlin. Each codelab includes a tutorial with solution code in GitHub.

Designed by the Google Developers Training team.

directions_runLevel: Intermediate

Kotlin Bootcamp for Programmers

videocam Video-based

Learn the essentials of Kotlin from Kotlin experts at Google and gain the skills you need to use Kotlin for your next project.

This is a free, self-paced course.

directions_runLevel: Intermediate

Java programming language

Android Developer Fundamentals

code Codelab-based

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 codelab with solution code in GitHub, concept documentation, and a slide deck.

Designed and updated by the Google Developers Training team. 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

code Codelab-based

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.

Designed and updated by the Google Developers Training team. Available for instructors to freely use in classroom settings, or for any motivated developer to use for self-study.

directions_runLevel: Advanced

Android Developer Nanodegree

videocam Video-based

Build a portfolio of projects as you earn your Android Developer Nanodegree. If you enroll in the Nanodegree, 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

videocam Video-based

This free, self-paced course teaches you how to follow Google's app-quality guidelines as you productionize and publish your Android apps.

directions_runLevel: Advanced

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

code Codelab-based

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

code Codelab-based

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

code Codelab-based

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