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
Developing Android Apps
Course Cost
Free
Timeline
Approx. 60 hours
Skill Level
Intermediate
Included in Course
  • Icon course 01 3edf6b45629a2e8f1b490e1fb1516899e98b3b30db721466e83b1a1c16e237b1 Rich Learning Content

  • Icon course 04 2edd94a12ef9e5f0ebe04f6c9f6ae2c89e5efba5fd0b703c60f65837f8b54430 Interactive Quizzes

  • Icon course 02 2d90171a3a467a7d4613c7c615f15093d7402c66f2cf9a5ab4bcf11a4958aa33 Taught by Industry Pros

  • Icon course 05 237542f88ede3178ac4845d4bebf431ddd36d9c3c35aedfbd92e148c1c7361c6 Self-Paced Learning

  • Icon course 03 142f0532acf4fa030d680f5cb3babed8007e9ac853d0a3bf731fa30a7869db3a 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 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d

Course Leads

  • Katherine Kuan
    Katherine Kuan

    Instructor

  • Dan Galpin
    Dan Galpin

    Instructor

  • Alexander Lucas
    Alexander Lucas

    Instructor

  • Sarah Spikes
    Sarah Spikes

    Instructor

  • James Williams
    James Williams

    Instructor

  • Lyla Fujiwara
    Lyla Fujiwara

    Instructor

  • Reto Meier
    Reto Meier

    Instructor

What You Will Learn

Lesson 1: Create Project Sunshine with a Simple UI (5-8 hrs)

Start by installing Android Studio, you’ll create your first project with a simple list-based user interface. You'll then build and deploy it to virtual and actual devices. You’ll also discover what makes mobile - and Android in particular - a unique environment for app development.

  • Android Studio, Gradle, and debugging tools
  • User Interface and Layout managers
  • ListViews and Adapters

Lesson 2: Connect Sunshine to the Cloud (8-10 hrs)

Replace the mock data with real weather data by connecting Sunshine up to an Internet back-end courtesy of the Open Weather Map API. You’ll learn how to add permissions to your app, initiate network I/O, and how to move time consuming tasks like network data transfers off the main UI thread.

  • Threading and ASyncTask
  • HTTP requests on web APIs
  • Android Permission System

Lesson 3: Create New Activities and Navigate Apps with Intents (8-10 hrs)

Give your app structure and create more complex Activities. You’ll learn about Android’s Intent framework, and how to use Intents to navigate between Activities, both within your app and as a way to add 3rd party functionality.

  • App navigation with Explicit Intents
  • Implicit Intents to incorporate 3rd-party apps
  • Share Intent and the Android sharing framework
  • Broadcast Intents and Broadcast Receivers

Optional Project: Popular Movies, Stage 1 (5-10 hours)

Build an app to help users discover popular and recent movies. You will build a clean UI, sync to a server, and present information to the user.

Lessons 4: Use Content Providers and Loaders to Persist and Recover Data (15-20 hrs)

Learn how the Android framework manages the activity lifecycle, and how it differs from what you might expect, and dive head-first into the world of persistent storage. Learn how to create databases, use Android’s Content Providers to provide an abstraction layer between your data and your UI implementation, and use Loaders to efficiently load stored data.

  • Activity lifecycle and background activity termination
  • SQLite databases and JUnit tests
  • Creating and using a Content Provider as an abstraction layer
  • Using Loaders to asynchronously load data
  • Creating Adapters to bind UI components to Content Providers

Lesson 5: Implement Rich and Responsive Layouts (8-10 hrs)

Create rich, responsive user interfaces that work across a variety of different hardware types and screen sizes. You’ll learn more details on using the Android Layout managers, Fragments, UI widgets, and Android design principles to add visual polish to your user interfaces, and how to create your own controls from scratch.

  • Fundamental Android design principles
  • Supporting localization and variable screen sizes
  • Optimizing tablet UIs using Fragments
  • Accessibility Features
  • Custom views

Lesson 6: Use Services and Notifications to Run in the Background (5-8 hrs)

Deliver a great user experience, even when your app isn’t visible. Learn how the Android framework manages background apps; and discover how to use Services and Notifications to make your app to be active when it’s not in the foreground. You’ll learn techniques for efficient data transfers using SyncAdapters and Google Cloud Messaging, so your app can stay up-to-date without draining the battery.

  • Background services and alarms to schedule background tasks
  • Efficient background data transfers with SyncAdapters
  • Rich notifications to interact with users

Optional Project: Popular Movies, Stage 2 (4-6 hours)

Add to the app you built in Stage 1 by building on the detail view for each movie, allowing users to 'favorite' movies, and adding a tablet layout.

Final Project (10-20 hours)

Build your own Android app incorporating the skills you've learned in this course.

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.

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 e82eae5d45465aba4fbe4bb746905ce55dc3324f310b79c60e4a20089057d347

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

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site or continue to Global Site