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.


