Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmed-shehataa authored Oct 29, 2020
1 parent 88a04e2 commit 8b48065
Showing 1 changed file with 99 additions and 2 deletions.
101 changes: 99 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Android-Roadmap
# :rocket: Android-Roadmap
This road-map for android development that can help you to improve your skills with very recommended articles and other resources.

<p align="center">
<img src="https://i2.wp.com/9to5google.com/wp-content/uploads/sites/4/2019/03/android_figure_1.jpg?w=2000&quality=82&strip=all&ssl=1" alt="accessibility text">
</p>

**Before we start with providing you with resources**..
## What about android as operating system(OS):
## :cyclone: 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:**
Expand All @@ -18,3 +18,100 @@ Android is a mobile operating system based on a modified version of the Linux ke
* Tv
* Wear OS
* Android things
---

First of all you should learn a programming language from [java or kotlin] + xml [for building the user interface(UI)]

## Learn java:
<p align="center">
<img src="https://3.bp.blogspot.com/-tASG8FDu-q0/XAhlY9OxQeI/AAAAAAAALkk/WS_mMVztewwfHGsTx5Sv_KP5RzwKsIdkgCLcBGAs/s1600/%25D8%25AA%25D8%25B9%25D9%2584%25D9%2585%2B%25D9%2584%25D8%25BA%25D8%25A9%2B%25D8%25AC%25D8%25A7%25D9%2581%25D8%25A7%2BJava.png" width="650" alt="accessibility text">
</p>

I recommend you to start with java as a programming language so here some res:

**Arabic:**
Abdullah Almehmadi:
[Java 101](https://www.youtube.com/watch?v=3QC6Zpz3As4&list=PL28DDB2DCF87BEE43)
[Java 102](https://www.youtube.com/watch?v=9w1jLen1lRU&list=PL138BE19EA2405C94)
[Java 103](https://www.youtube.com/watch?v=d1b2-99QzEo&list=PLA94A6FB67AB4CD0D)
[Java 104](https://www.youtube.com/watch?v=SjbXtRjavjA&list=PLqmVQqNLdVv11bup4o0bRR4zxG2Gu05gX)

**English:**

---

## Basic level:
Now you are ready to build user interface using xml and write some java code.
<p align="center">
<img src="https://d32myzxfxyl12w.cloudfront.net/images/blog_images/b20db22a3937fc97ce1162041495a0339f2c0a5a.png?1519728767" width="650" alt="accessibility text">
</p>

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

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

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

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.


## Intermediate part 1:
Before we start with sqllite.. what is the DataBase generally => [simple tutorial](https://youtu.be/FR4QIeZaPeM)


then start with learing sqllite commnads before implement it with android studio:
**English**
ProgrammingKnowledge:
https://www.youtube.com/playlist?list=PLS1QulWo1RIa0-Cs2Qx6GFyiIVVVS9lCS

`Additional but very useful:`
*To master sqllite* check this [Sqllite fully tutorial](https://www.sqlitetutorial.net/)

----

## Intermediate part 2:
So now you need to learn about recycler view, notification, room database and more..
**English**
Udacity:
[check this](https://mena.udacity.com/course/new-android-fundamentals--ud851)

---

## Advanced part 1:
Get hands dirty with Android Jetpack
Arch(MVVM, MVP, MVI)
Working with
Firbase
media
google apis
Now, you need to know more about retrofit and it's customization
Learn some design patterns (Builder, singleton, factory, observer, ...)

---

## Advanced part 2:
Reactive programming
DI
Scurity
Testing
Sensors

---

# What after that: :thinking:
I think you need to keep leanring more and more.. :joy:

0 comments on commit 8b48065

Please sign in to comment.