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.
# Creating Project Sunshine
* Learn how to create and run a simple Android app
* Create simple layouts for Android
* Learn about the Android Studio IDE
# 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
* Learn about the components that convert a list of data into visual UI elements
* 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.
# The Application Lifecycle
* Understand the phases of the Android application lifecycle.
* Learn how to persist data between orientation and other changes.
* Allow users to customize some aspects of your app
* Consider when to omit or add a preference
# Creating SQLite Databases
* Implement a SQLite database
* Make queries to and modify that database in your app
# Introduction to Content Providers
* Learn how Content Providers provide an interface to share data
* Consume data from an already existing ContentProvider
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) 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.