Interested in becoming an Android developer? Our team designed this learning path to help you kickstart your journey. Get ready to learn the fundamentals of Android development & build your first Android app.
Let’s dive in!
Table of Content
The Languages
The Fundamentals
The User Interface
Navigation Using Jetpack
Dependency Injection Using Hilt
Networking Using Retrofit
Data Persistence Using Room
Notifications Using OneSignal
Notifications Using OneSignal
Version Control Using Git
App Release
Conclusion
The Languages
First things first: start by learning 2 of the main programming languages for native Android development.
1.1 Kotlin
Your goal in this section is to master Kotlin: Google’s preferred language for Android development. It is widely used today.
Course: Kotlin Bootcamp For Programmers | by Google (2 weeks)
Hands-on Lab: Android Basics in Kotlin | by Android
1.2 Java
Up until 2019, Java used to be Google’s favorite language for Android development. Many popular apps still use Java today, so we recommend you learn it alongside Kotlin.
Course: Java Programming for Beginners | by Cezanne Camacho & Asser Samak (6 weeks)
Course: Object-Oriented Programming in Java | by Asser Samak & James Williams (4 weeks)
The Fundamentals
Now that you’ve learned Android programming languages, let’s go through the general basics of Android development. Get an overview of the app structure, memory management, and how to use the IDE.
Official Guide: Android Developer Guides
Official Guide: Manage Your App’s Memory
Official Guide: What Is Gradle?
The User Interface
To develop the UI of your Android app, you can use XML, Jetpack Compose, or a bit of both. Jetpack Compose is a UI toolkit that Google launched recently. It’s recommended for faster and easier UI development.
The choice between them will depend on the specific needs of the project & the experience and preferences of the developer.
3.1 XML UI
Course: Developing Android Apps with Kotlin | by Google (2 months)
Course: Advanced Android with Kotlin | by Google (2 months)
Official Guide: Android UI Testing Using Espresso
3.2 Jetpack Compose UI
Hands-on Lab: Jetpack Compose for Android Developers | by AndroidCourse: UIKit Fundamentals | by Gabrielle Miller-Messner (2 months)
Course: Jetpack Compose Crash Course | by Catalin Ghita (11 hours)
GitHub: Official Jetpack Compose Samples
Official Guide: Testing Your Compose Layout
Navigation Using Jetpack
Your app consists of multiple screens or what we call ‘views’ and ‘fragments.’ Therefore, you need to manage how users navigate between these screens via buttons and other UI elements. Learn how to do so using Jetpack’s Navigation component.
Official Guide: Navigation Component
Dependency Injection Using Hilt
For large-scale Android apps, you need to simplify and enhance the process of injecting dependencies. Using Hilt helps you make code more maintainable and testable by promoting loose coupling & reducing boilerplate code.
Official Guide: Dependency Injection With Hilt
Networking Using Retrofit
Next stop: learning about networking in Android. Almost every app needs to retrieve and/or update data from the backend. One of the best ways to handle this in Android is using Retrofit.
Data Persistence Using Room
Persisting data is a key skill for any mobile app developer. Learn how to make your Android apps work offline using Room, Google’s persistence library.
Official Guide: Save Data in a Local Database Using Room
Notifications Using OneSignal
Local & push notifications are valuable to most app owners. In this section, you will learn how to display & schedule notifications via One Signal, one of the most popular solutions available.
Version Control Using Git
During development, you and your team will make many changes to your app. In this section, you will learn how to track & manage these changes using Git.
Course: Version Control With Git | by Richard Kalehoff (4 weeks)
App Release
It’s time to release your app. Congratulations! Check out the guide below to find out more about testing & publishing your app. Last but not least, make sure you abide by the Google Play Store guidelines.
Official Guide: Google Play Policy Center
Official Guide: Publish Your App
Conclusion
We hope this learning path helps you become a skilled Android developer. Most importantly, we hope you enjoy the learning process & building awesome mobile apps.