Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Google

Developing Android Apps

Google via Udacity

Overview

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](https://play.google.com/store/apps/details?id=com.udacity.android) to keep learning wherever you go!

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.

Syllabus

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

Taught by

Reto Meier, Alexander Lucas, Dan Galpin and Katherine Kuan

Reviews

3.3 rating, based on 14 Class Central reviews

Start your review of Developing Android Apps

  • Anonymous
    The Android Development for Beginners by Udacity was a great course and I was hoping this would be of similar level. However, I was dissapointed: - The course needs a refresh as the code and Android Studio presented in videos is outdated. (Luckily…
  • Dissipate
    Katherine Kuan is a great instructor as always, clear and consistent. However at this point in time (mid-2016), the course is not workable for the main reason that it is outdated, and therefore the code provided by Udacity cannot even compile. The…
  • Anonymous
    Not sure who the course is intended for, but certainly not beginners. It blows through things without explaining, and tries to keep you up to speed by just opening a project at the right commit level for what's being discussed. As of S02.02 there ar…
  • Anonymous
    I have been learning the Android framework for over a year through a variety of resources including the Udacity beginner Android classes. As another reviewer said, the beginner classes were REALLY good. The courses in the first part of this nanode…
  • Anonymous
    Developing Android Apps (as of November 2017) is a course has a few strong moments... but is largely subpar. To start, there are plenty of moments in the course when it's obvious that they prioritised production values over actual content. Let's us…
  • Anonymous
    PROS: I really enjoyed the fact that they offered the certification for free.
    CONS: the course is not regular: sometimes it goes really fast, sometimes it takes minutes to explain simple concepts.
    As a confirmed developer, I'd rather stick with text instead of videos that IMHO are not useful for the learning at all (sometimes it's really annoying).
    Anyhow, I'd advise for beginner developers for sure, with plenty of time to spend on the videos.
  • Anonymous
    Bon cours, mais clairement pas fait pour les débutants.
    Udacity propose un autre cours plus facile d'accès que je conseille de suivre avant.
    Ou sur OpenClassRoom qui a l'avantage d'être en français.
  • It's actually a great course. The course provides a complete brush up on fundamentals and introduces to some new concepts.
  • Profile image for Adeel Zafar
    Adeel Zafar
    This course is a wonderful source to revise Android Concepts for developers that already have some experience developing android apps.
  • Anonymous
    amazing course and very helpful . i am happy of student of google android apps and thanks your deep knowledge.
  • Anonymous
    The videos are made by children for children. The exercises are inconsistent and incomplete. They videos do a pretty awful job at attempting to explain things. The only reason it deserves 1 star is it forced me to work on the projects myself. I rarely if ever rely on Udacity courses to help me learn the things I need to complete my projects. Stay away. Waste of money.
  • Marat Minshin
  • Bico

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.