A roadmap for android developers that can guide you from the very basics of the track and help you improve your skills.
First of all, we have to talk about
With over 3 billion Android devices all over the world including: ( π± Smartphones, πΊ TVs, β Smartwatches, π Cars and more) in the hands of 2.5 billion users, it has become essential for companies to develop Android apps for their services.
Before starting with Android you have to know about Git and GitHub. (If you know about them you can skip this section.)
First,what is the difference between Git and GitHub? See this
You can learn about them from these resources:
Use this file that NOW,you need to know how to use Git and GitHub with Android Studio which provides app builders with an integrated development environment (IDE) optimized for Android apps. Watch this video
You are ready to start your journey with Android but before starting with Android you have to learn a programming language and because it's Android, we recommend you start learning with Java.
- Most the open-source projects are written in Java.
- Java has been the preferred language for Android development until May 2019
- Most of the Stack Overflow answers are written in Java
- Most Android libraries are written in Java, and to be able to use them, you have to understand Java.
- Java baiscs (Recommended)
- OOP
- Java baiscs OOP
- Basic syntax
- Conditions (if - switch)
- Looping (for - while - do While)
- Arrays & Collections
- Exception handling (try-catch)
- OOP
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- π Build a simple project with Java
Now you are ready to start programming real Android apps for that you will need a good IDE to help you in your journey and I recommend you use Android studio.
We will start with the basics of the basics π
- Check this playlist to video no. 27
Then you will learn about making a list of views using Recyclerview
- Check this or this
Then you will need to learn how to reuse portions of your app's UI by using fragments and navigation component.
- Fragments: Arabic Next Trend
- Design responsive android UI using XML
- Accepting user inputs
- Developing multi-screen applications
- Making big lists of data without using many resources using recyclerview
- Fragments
- Navigation component
- Using the Navigation graph
- Navigating between fragments
- Using Drawer layout and Bottom Navigation
- Using safe args
- π Build a simple android application to apply your knowledge
After building a strong foundation with java and XML basics we will start building on it with the knowledge we will really use in our future applications.
After Google I/O 2017 where Google announced first-class support for Kotlin on Android, Kotlin has become used by more and more Android developers and now it's used by over 60% of professional Android developers, for that each Android developer must learn it. Learn More
We will start by learning the basics of the language.
- Check this playlist (Recommended)
- The basic syntax of Kotlin
- Null safety concept
- Looping
- Functions and different types of them inline, infix, extension, etc.
- Types in Kotlin
- Companion objects
- Higher-order functions
- Operations on collections filter, map etc.
- Generics
- π Build a console app to apply the skills you have learned in this level
Now we will start writing Android apps using the skills we have learned in the previous levels as we will use Kotlin we've just learned with the Android skills we have built before to make much powerful and usable Android apps.
Check this course from Udaicty it has covered most of the topics you have to learn at this level, we just have some recommendations:
- Before advancing to lesson 5 try to search about Design Patterns and their different types.
English
(Recommended)
- Before advancing to lesson 6 we recommend:
- Each topic in this course is very important so you have to make sure you understand them well.
- Try to follow each lesson by answering its QUIZs and make projects to apply what you have learned.
- Developing Android apps using Kotlin.
- Good understanding of Android lifecycle.
- Design architectures MVC, MVP, MVVM (Watch this).
- SQLite basics and Room database.
- Connect your app to the internet using Retrofit.
- Multithreading using Coroutines.
- Design adaptive layouts depending on the settings of the user's device.
- π Build applications to apply the knowledge you have learned in each topic
Hey, Android developer. At this level, you will just learn more and more topics that will help you make much better Android applications with better code using the most modern methods to develop them.
- Watch this Udacity course which discussing these topics:
- Notifications.
- Custom views and Canvas.
- Making animations.
- Testing.
- Dependency Injection.
- MVI:
- Jetpack compose: Follow this course - This Repository for more content.
- Services.
- Broadcast reciever.
- Content provider.
- Multi-Module applications.
- Live Data.
- Firebase auth.
- Cloud Firestore.
once you stop learning you start dying
You have to continue learning more and more and try to be always up-to-date with the new technologies coming to the field.
You can follow Android Developers YT Channel and watch their MAD Skills series to stay up-to-date.
You can also check This Site for very important books in Android and Kotlin and other awesome stuff.