CodePath Android Cliffnotes

Welcome to the open-source CodePath Android Cliffnotes! Our goal is to become the central crowdsourced resource for complete and up-to-date practical Android developer guides for any topic. Just take me to the notes!


We have Android guides for everyone whether you are a beginner, intermediate or expert. Want to learn how to use the ActionBar or the ins and outs of fragments? We got that. Want to learn about automated unit testing or how to build flexible user interfaces for multiple devices? We got you covered. We don't waste time with the "theoretical approach" you might get from a book. We cover exactly the things we use every day as we are developing apps for contracts.

Need Help? Please join this gitter real-time chat or the google groups for these guides where you can post related questions. You can also get 1:1 mentorship online through codementor.


Ever been frustrated finding information on outdated one-off blog posts and tutorials that have long since become irrelevant? How many times have you been googling to find your answer only exists on an obscure 2 year old StackOverflow post? We believe there's got to be a better way. Why not have the community work together to create useful and detailed documentation for every aspect of Android (or any platform)? There's absolutely no reason that we should have to make do with vague and outdated content anymore.

Read about our mission to change the way engineers learn new technologies and check out how you can get involved! In addition, we are at present a fledgling startup so if you like this guide and what we are trying to do, please consider following us on twitter @codepath!


The cliffnotes below are categorized by their topic, so you can easily find guides on related topics whether that is views, styling, testing, or using sensors. If you see an error, incorrect explanation or deprecated solution, why not contribute back and make these cliffnotes better for the next person? That in a nutshell is the core spirit of this initiative. Check out the list of contributors to this project.

Disclaimer: We have scoured the web endlessly for content while creating these guides and adapted content from many source including the Google Official Docs, Vogella Tutorials and countless other sources that had hidden gems of information. At the bottom of each guide, there are citations for the content we used. We don't claim the content is original (although we did develop quite a bit ourselves), but unlike those other sources listed, it is freely community editable. We have openly adapted, modified and brought together this content from all the sources we could find for the benefit of every engineer.

Read more about us and our vision for CodePath. If you want to contribute to this guide, please read the Contributing Guidelines.

Interested in Android Courses or Events?

Located in the San Francisco Bay Area and interested in learning with others in a more structured program? Check out our local Android or iOS meetup events. We have free evening events and at-cost 1-day workshops to make learning social and connect you with others passionate about mobile.

If you are an experienced engineer with 2+ years of professional experience in software development and are serious about learning Android, check out our free evening 8-week Android bootcamp. Learn how to build mobile apps while collaborating with other engineers. Find a role as an Android developer, work on solving important problems for non-profits, or launch your own app ideas to the store with our free 8-week evening accelerated mobile bootcamp.

Not in the United States? We are committed to bringing our unique form of high-quality technical classes to as many people as possible through a distributed and scalable approach to running local classes. Please fill out our application of interest form and we’ll notify you as classes become available in your area powered by local organizers.

Getting Started

Totally new to Android? Start here.

Debugging Android. Debug and troubleshoot issues.

External Resources. Great external content to explore.


Exploring the core of app development:

Views and Layouts

Exploring the gritty details of views, layout, styling and common UI patterns:

Designing and Styling Views


Custom Views


Exploring how to allow user interaction and navigation within an app:


Networking and Models

Diving into the networking and model layers for data-driven apps:


Exploring the strategies for data persistence:



Understanding how to build powerful and flexible views using Fragments:

Sensors and Device SDKs

Exploring sensors and components available via the Android SDK:


Digging into how to run background services or leverage Android system services:


Covering automated testing frameworks and tools for Android:


Covers usage of more advanced third-party libraries and SDKs that save time and improve the maintainability of your code:


Covers guides specifically related to developing and publishing robust Android applications:


Focused on issues like deployment, dependency management, etc:


Fork me on GitHub