It seems like everyone nowadays has an idea for the next big app. But looking to get it off the ground can be a daunting task without knowing Android development. There are almost 2.55 million apps on the Google Play Store and that number isn’t going down anytime soon. Whether you’re starting out or looking to expand your skills, finding the right Android resources can go a long way. We collected all the essential Android resources you will need to become a proficient Android developer.
Android resources to get started
Best courses for beginners
Official Udacity Android for Beginners course
Supplement to the official Udacity course, the Vocabulary Glossary is an overall great Android resource.
For more dedicated courses, Google also full training courses with beginner, intermediate, and advanced difficulty. Some are Codelab based while others are video-based.
Google Developers Codelabs provide a guided, tutorial, hands-on coding experience. Most Codelabs will step you through the process of building a small application or adding a new feature to an existing application. Codelabs is an amazing resource for beginners and advanced users alike.
The popular choice of language to develop Android apps is Java, but Kotlin has been gaining a lot of traction. This article provides a great detailed comparison and can help you decide between the two. Check out these Kotlin tutorials:
After getting the language and IDE basics down you will want to start getting the Android app basics down to starting creating your own whether or not you are following a full course. Based on one of the best beginner roadmaps out there by Ahmed Adel and our very own Muhammed Youssef, these are the basic components for a beginner app.
Publishing your app
Once you have an app made you need to know how to publish it on the Google Play Store. Check out our full guide:
Resources to master
Udacity Developing Android apps is more of an intermediate course. Build a cloud-connected Android app, and learn the tools, principles, and best practices of mobile and Android development that you'll apply to your own projects.
Top android frameworks article*
You won’t always be able to do everything you want with any given programming language. And some tasks can be very frustrating to implement in Java. This is where libraries and frameworks come in. Other developers finding ways to do things that just were not as easy or not possible with base Java.
The architectural pattern is the approach for organizing Android applications into logical components. These patterns have changed over the years from the most common Model-View-Controller (MVC) in favor of more modular and different approaches.
- Model-View-Controller (MVC)
- Model-View-Presenter (MVP)
- Model-View-ViewModel (MVVM)
- Model-View-Intent (MVI)
RxAndroid is one of the best libraries to help you use reactive code instead of imperative. It can, however, be tricky to get started with there are a couple of tutorials out there depending on what you want to use.
To successfully implement networking in your Android app you will need some knowledge of HTTP and REST, more so when using Retrofit.
Forums and questions
Sites to follow
Instabug empowers mobile teams to accelerate their workflows and release with confidence through Real-Time Contextual Insights across the entire app lifecycle.
Learn more about Instabug's Bug Reporting and In-App Feedback