subject
Intro

Udacity: Developing Android Apps

 with  Reto Meier, Alexander Lucas, Dan Galpin and Katherine Kuan
Sponsored
Data Analytics Certificate
Cornell University via eCornell
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.
11 Student
reviews
Cost Free Online Course
Pace Self Paced
Institution Google
Provider Udacity
Language English
Hours 6 hours a week
Calendar 10 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

11 reviews for Udacity's Developing Android Apps

Write a review
1 out of 1 people found the following review useful
11 months ago
profile picture
Anonymous is taking this course right now.
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 there are comments in the instructor notes to get past that) - But the Read More
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 there are comments in the instructor notes to get past that)

- But the bigger problem ...and really frustrating.... is the speed and shortness of the explanations. The videos are too fast and you can have sentences with 4 new concepts, illustrated by a 5 second clickthrogh video. You really need to be an experienced Android developer before taking this course....and in that case why should you take this course.

- The example Sunshine app used has massive code that you just copy-paste from Git without understanding it.

My suggestions for improvement would be:

- Consider the students as children that need to be taken through the mysterious world of Content providers and such slowly and hand-in-hand. Slowly, easily and not assuming that they know too much about Java, Android or even OO.

- Make a very minimal App that for example gets one word from a web service and displays it. Do all the SQLite and Content providers with it, but minimize code. Broaden the scope after everything works by adding a number and then making a relational database or similar.
Was this review helpful to you? YES | NO
5 out of 6 people found the following review useful
a year ago
Dissipate partially completed this course and found the course difficulty to be hard.
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 course has been outdated for more than 6 months and if you look at the Read More
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 course has been outdated for more than 6 months and if you look at the relevant forum, you will come across many posts made by students who are confused and frustrated at the outdated code vs developments in Android Studio. I was one, and like a couple of people, left the course midway to take up an Android course on Udemy instead.

A second problem with the course is that there are leaps in what is taught. One moment you might be getting good instruction on how to do something. The next, you are expected to get a particular function running yourself and there is no clear instruction on how to do it or how it was done - you have to do research yourself, discuss with the other students, and/or just guess and feel around yourself.
Was this review helpful to you? YES | NO
4 months ago
profile picture
Anonymous is taking this course right now.
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 are naming discrepancies, the TODO list on the video reaches 15 but my ex Read More
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 are naming discrepancies, the TODO list on the video reaches 15 but my exercise files stop at 7 and aren't the same.

You can glean bits of information, but I find this a poor introduction. The android framework seems full of potential but the explanations make little attempt to show graphic comparisons or reasoning as to why one class would be used over another. It's like a high speed drive through leaving you glossy eyed and confused; I have gained no critical thinking of the material and if asked to perform any of these steps without the same explicit TODO list, i'd be lost.

FWIW, pluralsight 'android path' didn't impress me either, I'm going to see Udemy now. My background is full stack c# dev with 3 years experience.
Was this review helpful to you? YES | NO
2 months ago
profile picture
Anonymous is taking this course right now.
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 nanodegree are definitely not There are a few instructors (Kathryn) who real Read More
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 nanodegree are definitely not There are a few instructors (Kathryn) who really understand pedagogy, and those lessons are excellent. There are other instructors, however,, whose units . . . are not. They are unclear, the explanation of vital steps is missing when demonstrating code implementation, there are issues where the exercise skeleton code does not match the solution code, so when the exercise does not work as it should (despite all of the student-implemented methods being EXACTLY the same code) it's almost impossible to find the bug. Even if these issues were fixed, the presentation of subjects is very shallow, but then exercises require far more in-depth knowledge than was taught, and additional resources are often not given or say they are given but are not. I appreciate that a dev must take initiative to learn on one's own, but given the overall cost of the course and the relative ease with which resources could be provided in the notes, this is just one more annoying issue on top of a host of other issues. I could go on, but the take-away is that this is a really sloppily done course. My recruiter advised that passing the Associate Android Developer Certification and having at least 3 full-featured working apps in the Play Store would be weighted more heavily over completing the nanodegree.

I gave it two starts for two reasons: 1) the mentors and forum staff are very responsive and helpful, and 2) the code reviews have been excellent. Definitely not their fault that the course content is sub-par.
Was this review helpful to you? YES | NO
2 weeks ago
profile picture
Anonymous is taking this course right now.
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 use Lesson 3 as a reference. Take this 30 second video for example (see h Read More
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 use Lesson 3 as a reference. Take this 30 second video for example (see https://youtu.be/Hy6TvbbzJMw) where you watch a person cover an important aspect of RecyclerViews (a relatively complex topic). You might be thinking: "If it's a video, then there are probably some fancy graphics/visual cues to aid my learning, right? Otherwise what would be the point?" Well my friend... prepare to be disappointed.

To be fair, the substitution of clean, textual explanations with polished but pointless videos is a bearable issue. However, what's most frustrating about this course is that it's almost as if the tutors deliberately stop themselves a few sentences short whenever they explain a concept (see https://youtu.be/K4wre8VBcwY).

To top it all off, at the end of each lesson, there's a section labeled "Recap". That sounds like a great opportunity to summarise key concepts and revise important points that people might have otherwise forgetten, right? Nah, you get this instead: https://www.youtube.com/watch?v=BEX99MV3dD4 (aka "Looks like you're a pro now, good luck buddy!")

tldr; Developing Android Apps is a road full of pain and I would strongly urge you turn to alternatives (or rely on it only as a secondary learning resource), regardless of whether you are a beginner or an intermediate developer.
Was this review helpful to you? YES | NO
5 months ago
profile picture
Anonymous is taking this course right now.
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.
Was this review helpful to you? YES | NO
6 months ago
Aayush Goyal audited this course, spending 4 hours a week on it and found the course difficulty to be medium.
It's actually a great course. The course provides a complete brush up on fundamentals and introduces to some new concepts.
Was this review helpful to you? YES | NO
3 months ago
profile picture
Anonymous dropped this course.
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 ( Read More
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.

Was this review helpful to you? YES | NO
3 out of 7 people found the following review useful
2 years ago
Marat Minshin is taking this course right now, spending 5 hours a week on it and found the course difficulty to be easy.
Was this review helpful to you? YES | NO
0 out of 6 people found the following review useful
2 years ago
profile picture
Bico completed this course.
Was this review helpful to you? YES | NO
0 out of 6 people found the following review useful
2 years ago
Santhosh Vaiyapuri completed this course.
Was this review helpful to you? YES | NO

Class Central

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

Sign up for free