• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Java
  • Created about 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This road-map for android development that can help you to improve your skills with very recommended articles and other resources.

🚀 Android-Roadmap

🙋 Follow me on LinkedIn

💁 Follow me on Github

👬 Join my telegram channel to be up to date for new android articles and features


This road-map for android development that can help you to improve your skills with very recommended articles and other resources.

Table content

Section
About android
Why java first?
Java resources
Android basic
Android intermediate part 1
Android intermediate part 2
Android advanced part 1
Android advanced part 2

Before we start providing you with resources..

🌀 What about android as operating system(OS):

Android is a mobile operating system based on a modified version of the Linux kernel and other open source software.
Designed for:

  • Smartphones & Tablets 📱
  • Tv 📺
  • Wear OS
  • Android things 🔮

First of all we should learn a programming language from [java or Kotlin] and XML [for building the user interface(UI)]

I recommend you to start with java as a programming language.. why? 😅

  • Most of open source was written with java.
  • Most of apps built with java and if you worked somewhere at a company, how do you refactor this app that built with java!
  • There are much more Java tutorials and almost every solution for Android problems on pages like Stack Overflow from the last years have been written in Java.

Don't worry Java is not going to be obsolete 💪

Learn java: (Due to 3 or 4 weeks)

📋 Resources: choose only one resource (Arabic or english)

Arabic

English Crash course

Check this

Before moving to the next level be sure that you have a good knowledge about:

  • OOP.
  • Looping (for - while - doWhile).
  • Make a decision (if else - switch).
  • Exception handling (try catch).
  • Casting, static, final, generics.
  • Using interface and abstraction and Anonynmous object.
  • 👉 Build a simple project with java like ( Banking or Hotel or SuperMarket system).

Now you are ready to start with android

Basic level:

Now you are ready to build user interface using xml and write some java code at android studio.

📋 Resources:

English
Udacity:

  1. Android Basics: User Interface ​ (due to 1 week)
    https://mena.udacity.com/course/android-basics-user-interface--ud834

  2. Android Basics: User Input ​ (due to 2 weeks)
    https://mena.udacity.com/course/android-basics-user-input--ud836

  3. Android Basics: Multiscreen Apps​ ​ (due to 1 Month)
    https://mena.udacity.com/course/android-basics-multiscreen-apps--ud839

After you have learned to use Relative and Linear layout.. there is another amazing thing called Constraint layout to build a responsive layout
check this playlist

Go a head and build a project and use the tools that you learned in basic level

After that you are ready to work with database and networking so..

Database in android:

In android world.. the database commes from different sources (Local & Remote).

Local: We use shared preference and room database(based on sqllite).

Remote: We can use firebase or some thing called API.

👉 Don't Worry right now about that, we 'll provide you with useful resources to learn that

Intermediate part 1:

Before that you should learn an important view called recycle view.. Why?
Most of android apps need to display a list of any type of data for users so the best way to handle that using recycler view.

📋 Resources:

  1. check this tutorial

What is Database generally

📋 Resources:

  1. simple tutorial

then start with learning sqllite commands before implement it with android studio:

📋 Resources:

  1. ProgrammingKnowledge: check this

Additional but very useful:
To master sqllite check this Sqllite fully tutorial

Learn how to store data into your local database of your application by learning room database.

📋 Resources:

  1. TODO Add a room db resources.

Intermediate part 2:

You should learn networking basics: (working with a remotely data)

📋 Resources:

Android Basics: Networking ​ (due to 5 weeks)

  1. check this

So now you need to learn about recycler view, fargments, notification, room database and working with some libraries and more..

📋 Resources:

Udacity:
2. check this

Then you should learn the best libarary in android development that working with APIs called (Retrofit)

📋 Resources:

Coding in flow.
3. What is API 4. check this

Now you need to learn some thing awesome called (Material design)

Material is an adaptable system of guidelines, components, and tools that support the best practices of user interface design. Backed by open-source code, ...

Material Design for Android Developers:
4. check this

👉 Go a head and build a project and use the tools that you learned in basic level and Intermediate part 1&2

Advanced part 1:

Alright, you need to add some more features for your app like playing music, integrate google maps into your app, push notification and more..

📋 Resources:

Advanced Android App Development.

  1. check this

After that I think you are ready to learn kotlin:

📋 Resources:

Arabic

English

After finishing this course above you should be sure that you are good at:

  • val, var, lateinit
  • inline function
  • Scoped funs
  • const VS val
  • data class
  • sealed class
  • Higher order funs and lambda experssion
  1. What is android jetpack?
    check this video
    Get hands dirty with Android Jet-pack.

  2. Learn more about Architecture pattern (MVVM, MVP, MVI).

👉 Go a head and build a project and use the tools that you learned in the previous levels

Advanced part 2:

  • Now, you need to know more about retrofit and it's customization.
  • Learn some design patterns (Builder, singleton, factory, prototype, observer, ...).
  • Kotlin coroutines.
  • Testing.
  • Reactive programming.
  • Jetpack Compose
  • Dependency injection (DI).
  • Sensors.
  • Security.

More about Retrofit:

  1. Making Retrofit Work For You
  2. Okhttp interceptors
  3. Build a custom retrofit adapter

Kotlin coroutines:

  1. The ABC of Coroutines
  2. kotlin coroutines by tutorials (Book)

Dependency injection:

  1. Manual DI
  2. Service locator VS Dependency injection
  3. Dagger
  4. Dagger hilt

Jetpack Compose:

  1. Why compose?
  2. Compose pathway
  3. Compose Camp

Testing:

  1. Why testing?
  2. Testing types in android
  3. Unit test playlist
  4. Unit test talk from Eng. Ahmed Adel

What after that: 🤔

I think you need to keep learning more and more..

More Repositories

1

Android-interview-resources

This repository provides some resources that may help you with any technical android interview
18
star
2

Movie-clean

Simple Movie app tested (Unit & UI) with two screens, implemented with clean arch and last tech in android field
Kotlin
18
star
3

Validate-Me

An android lib to test validations by easy way.
Kotlin
12
star
4

News-mvi-kotlin-

Simple app to implement flow api and coroutines for background tasks, retrofit to handle rest api endpoints
Kotlin
6
star
5

Instabug-task

Kotlin
6
star
6

Movies-KMP

Kotlin
6
star
7

Custom-View-Group-Loading

A simple Lib to make a progress bar indicator behind the views to show loading or progress something
Kotlin
5
star
8

Remote-config-firebase

A simple app to use remote config feature from Firebase to control the app remotely.
Kotlin
4
star
9

Android-App-Docs

This readme file will help you to document an android app.
3
star
10

Me-Player

Me-Player is a sleek local music player designed exclusively for Android devices. With Me-Player, you can seamlessly play your phone's ringtone or groove to your favorite tunes.
Kotlin
2
star
11

CAT-bootcamp

Java
1
star
12

Test-me

Simple project to implement unit , integration and ui testing.
Kotlin
1
star
13

Release-Apk-Bundle

Generate both (Apk & Bundle) with just click from android studio.
1
star
14

CAT-Bootcamp-2021-V2

Java
1
star
15

ahmed-shehataa

1
star
16

ITI-project

Java
1
star
17

Sofra

sofra ia an application With a double interface as a customer or restaurant you can as a restaurant offer food for sale and add offers, but as a customer you can buy food from any restaurant available
Java
1
star
18

Madarsoft_task

Simple app with 2 screens with clean arch and last tech in android (First screen: purpose of it : Takes user's name, age, job title and gender then saves those data on local db Second screen: purpose of it : Show saved data)
Kotlin
1
star
19

Morty-Flutter

Dart
1
star
20

COVID-19

simple app with a single activity to implement some of clean arch, retrofit, kotlin coroutines, koin, cashing and view state.
Kotlin
1
star