Revision control

Copy as Markdown

# Android guide
This guide is designed to help you get started on Android and introduce you to some intermediate topics.
- [Getting started](#getting-started)
- [Staying informed](#staying-informed)
- [Intermediate topics](#intermediate-topics)
## Getting started
Assuming you already have some coding experience, Google's official [Developing Android Apps udacity course][udacity course] comes highly recommended by our team. After completing your first few lessons, you can try to working on our code base, continuing the course as necessary.
Once you have a little experience, the beginner's guides in the [official Android developer docs][devdocs] teach popular topics pretty well and are a good reference. However, they aren't very good at telling you where to go next (which is why we recommended the course). Note: the documentation on less popular topics are often missing information.
There are also many good Android tips and conference talks on YouTube.
You may wish to see [our guide for properly configuring Java](configure_java.md) to properly set up command line tools.
## Staying informed
If you like staying up-to-date on the latest Android topics, members of our team recommend:
- Reading blogs
- [Official Android developer blog](https://android-developers.googleblog.com/) (also has a newsletter)
- Subscribing to weekly newsletters
- [Android weekly](https://androidweekly.net/)
- [Jetpack Compose Newsletter by Commonsware](https://jetc.dev/)
- Listening to podcasts
- [Android Developers Backstage](https://androidbackstage.blogspot.com/)
- Visiting conferences (or watching their recordings)
- Google IO
- Android Developer Summit
- Droidcon
- Visiting local meetups
## Intermediate topics
Comfortable with the basics? Here are a few of our favorite resources to get started on intermediate topics.
- [Android style tips](http://blog.danlew.net/2014/11/19/styles-on-android/) (circa 2014)
- [Our Accessibility guide](accessibility_guide.md)
- [WorkManager FAQ](workmanager_faq.md)
### Navigating the Android source code
Oftentimes, it's easier to solve a problem when you understand how your code is interacting with the Android framework: you can do this by reading the Android source code! You can do plain-text searches on the Android source code at http://androidxref.com/ (choosing the latest API level and searching in the "frameworks" is usually sufficient).
You can also navigate the Android source code in Android Studio, after downloading the sources:
- Click a framework method and use "go to definition"
- Step into framework methods via the debugger
- Set breakpoints in framework files to stop whenever the framework calls that method