About this Course

As the first course in the Android Developer Nanodegree, Developing Android Apps is the foundation of our advanced Android curriculum. This course blends theory and practice to help you build great apps the right way. In this course, you'll work with instructors step-by-step to build a cloud-connected Android app, and learn best practices of mobile development, and Android development in particular.

Download Udacity's Android app to keep learning wherever you go!

Play Trailer Play Trailer
Course Cost
Free
Timeline
Approx. 60 hours
Skill Level
Intermediate
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Android Developer Nanodegree Program.

Free Course

Developing Android Apps

by Google

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

Course Leads

  • Dan Galpin
    Dan Galpin

    Instructor

  • Lyla Fujiwara
    Lyla Fujiwara

    Instructor

  • Reto Meier
    Reto Meier

    Instructor

  • Asser Samak
    Asser Samak

    Instructor

  • James Williams
    James Williams

    Instructor

  • Cezanne Camacho
    Cezanne Camacho

    Instructor

  • Michael Lustig
    Michael Lustig

    Instructor

  • Jocelyn Becker
    Jocelyn Becker

    Program Manager

What You Will Learn

Lesson 1

Creating Project Sunshine

  • Learn how to create and run a simple Android app
  • Create simple layouts for Android
  • Learn about the Android Studio IDE
Lesson 1

Creating Project Sunshine

  • Learn how to create and run a simple Android app
  • Create simple layouts for Android
  • Learn about the Android Studio IDE
Lesson 2

Loading Data from the Internet

  • Connect to the Internet and communicate with web APIs
  • Learn about threading and how to make requests without slowing down your app
  • Learn how to add menus to your app
Lesson 2

Loading Data from the Internet

  • Connect to the Internet and communicate with web APIs
  • Learn about threading and how to make requests without slowing down your app
  • Learn how to add menus to your app
Lesson 3

RecyclerView

  • Learn about the components that convert a list of data into visual UI elements
Lesson 3

RecyclerView

  • Learn about the components that convert a list of data into visual UI elements
Lesson 4

Intents

  • Learn the difference between Explicit and Implicit Intents
  • Learn how to navigate inside your apps using intents
  • Learn how to create Intents that apps outside your control can respond to
Lesson 4

Intents

  • Learn the difference between Explicit and Implicit Intents
  • Learn how to navigate inside your apps using intents
  • Learn how to create Intents that apps outside your control can respond to
Lesson 5

The Application Lifecycle

  • Understand the phases of the Android application lifecycle
  • Learn how to persist data between orientation and other changes
Lesson 5

The Application Lifecycle

  • Understand the phases of the Android application lifecycle
  • Learn how to persist data between orientation and other changes
Lesson 6

Preferences

  • Allow users to customize some aspects of your app
  • Consider when to omit or add a preference
Lesson 6

Preferences

  • Allow users to customize some aspects of your app
  • Consider when to omit or add a preference
Lesson 7

Creating SQLite Databases

  • Implement a SQLite database
  • Make queries to and modify that database in your app
Lesson 7

Creating SQLite Databases

  • Implement a SQLite database
  • Make queries to and modify that database in your app
Lesson 8

Introduction to Content Providers

  • Learn how Content Providers provide an interface to share data
  • Consume data from an already existing ContentProvider
Lesson 8

Introduction to Content Providers

  • Learn how Content Providers provide an interface to share data
  • Consume data from an already existing ContentProvider
Lesson 9

Building a Content Provider

  • Learn to build a Content Provider
Lesson 9

Building a Content Provider

  • Learn to build a Content Provider
Lesson 10

Background Tasks

  • Run jobs in the background of an app
  • Create notifications and schedule long-running background processes
Lesson 10

Background Tasks

  • Run jobs in the background of an app
  • Create notifications and schedule long-running background processes
Lesson 11

Completing the UI

  • Build a well-organized, accessible UI for your app
  • Try different layouts, views, viewgroups, and methods of databinding
  • Design your UI for users who speak different languages
Lesson 11

Completing the UI

  • Build a well-organized, accessible UI for your app
  • Try different layouts, views, viewgroups, and methods of databinding
  • Design your UI for users who speak different languages
Lesson 12

Polishing the UI

  • Add visual polish to your apps with different layouts, fonts, and colors
  • Use design principles to create apps that look great across multiple form factors
Lesson 12

Polishing the UI

  • Add visual polish to your apps with different layouts, fonts, and colors
  • Use design principles to create apps that look great across multiple form factors

Prerequisites and Requirements

This course is intended for students with at least 1 year of programming experience in Java or another object-oriented programming language (for example: C++, Objective C or Python).

If you are new to programming, we recommend taking Android for Beginners, which we created with Google for students just like you!

Also, Udacity's Intro to Java is a helpful background if you're looking to refresh your Java skills.

You will be expected to download Android Studio in order to follow along with the instructors throughout the course. For guidance on the install process, take our How to Install Android Studio mini-course.

In addition, you should be comfortable working with code on GitHub.

Access to an Android device is helpful -- but not required -- to complete the final project.

See the Technology Requirements for using Udacity.

Android Path

Which learning path is right for me?

When it comes to Android, Udacity has a variety of Nanodegree programs and courses of all levels for you to choose from. Find out which courses are right for you with this quick guide.

View Now

Why Take This Course

With over 1 billion Android devices already activated, Android represents an incredible opportunity for developers.

As Android continues to grow beyond smartphones, it will become the brains behind invisible, ubiquitous cloud-connected computing. The skills you learn in this course will help you build awesome apps for smartphones and tablets today, and propel you towards exciting opportunities in Android's future.

By the end of this course, you’ll build a cloud-connected Android app, and understand the tools, principles, and patterns that underlie all Android development. You’ll understand the challenges associated with developing for the mobile environment (and how to overcome them), learn how to build a great user experience for Android devices, and apply this knowledge to your own projects.

What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English