The objective of this site is to document my path through the challenge, this will serve as my personal notebook where I will summarize the contents, concepts, learnings and useful resources from the course and related to the stuff we learn.

So, there are the articles:

Lesson 1 - Welcome

This lesson is just an introductory video to the Challenge program, so in this lesson I will try to explain my situation, motivation and goals towards this course.

Lesson 2 - Project Sunshine

In this lesson, we'll learn how to create and run our first simple Android app. In doing so, we'll explore how to create simple layouts for Android, how Android runs on the phone and the IDE Android Studio.

Lesson 3 - Connect to the Internet

In this lesson we'll harness the power of the Internet by connecting our apps to the cloud! We'll learn how to make requests to an API and visualize what's returned in our Android app, with an emphasis on performance. We'll also explore modifying the Action Bar of our app to add menu items.

Lesson 4 - RecyclerView

Many apps need the ability to display large lists of data. We'll learn how to do this efficiently with Adapters and the RecyclerView class. By the end of this lesson, we'll be efficiently showing off many rows data.

Lesson 5 - Intents

This lesson is all about making multi-screen apps using Intents. We'll learn how to use explicit intents to open up different app screens. We'll also learn about implicit intents, which are a powerful part of the Android framework that allows us to send and receive data from other apps, such as Google maps, Chrome and a host of social media apps.

Lesson 6 - Lifecycle

One of the critical parts of Android any good developer needs to understand is the Android Lifecycle. In this lesson we'll learn about how activities are created and destroyed. We'll also learn how to properly persist data between rotations of the device.

Lesson 7 - Preferences

In this lesson, we'll learn how to give users a customized experience by creating Preference screens.

Lesson 8 - Storing data in SQLite

In this lesson we'll start our exploration into data persistence on Android by implementing a SQLite database.

Lesson 9 - Content Provider

This lesson build off the last by introducing Content Providers. Content Providers are a core Android Framework component that help us provide and manage access to our app's data. In this lesson, we'll learn how to leverage a content provider to get data from other apps on the phone.

Lesson 10 - Building a Content Provider

In this lesson we'll get to make your own Content Provider! We will follow a step by step guide to create our own Content Provider.

Lesson 11 - Background Tasks

In this lesson we'll learn about how to effectively run jobs in the background, create notifications and periodically schedule long running background processes.

Lesson 12 - Completing the UI

This lesson is all about building a user interface that is well-organized and accessible. We’ll be building a sample app where we’ll learn about different styles of layouts, views and view groups, as well as data binding, and accessibility.

Lesson 13 - Polishing the UI

In this lesson we'll give final touches to the UI, reviewing the Android Design Principles, play with fonts & colors, and how to keep the design consistent across the app and organized via styles and themes. Finally we will learn how to make UIs for different devices and screen sizes.

Lesson 14 - Challenge Course Wrap Up

The Android SDK is a wide and complex framework and after these three months we have just scratched the surface, so what we can we do from here?