🗺 Android Developer Roadmap 2022 suggests learning paths to understanding Android development.

Overview

Android Developer Roadmap 2022


License Build Status

English | 한국어

Android Developer Roadmap 2022 suggests learning paths to understanding Android development. You can read the roadmap following the line path in the middle of the map.

Each node indicates concepts of Android systems, Android SDK, and generally used libraries. It would be helpful to refer to the Android Developers Reference or GitHub for the specific terminologies.

In addition, this roadmap doesn't cover everything about Android development, and you don't need to learn everything from it. So we recommend only reading the sections that would be helpful to you.

Roadmap

Roadmap

Demo Application

This project includes a demo project which shows the roadmap image. You can download the latest APK on the Releases.

Articles

New articles for the Android Developer Roadmap are coming soon on the Stream Blog. If you have any interests, you can get notifications by joining watchers.

Contribution

This project doesn't cover everything, so if something is missing or should be fixed, anyone can contribute to this project by following the CONTRIBUTING guides.

Inspiration

This project is inspired by Android Developer Roadmap 2020. So thank you for the authors providing the roadmap ideas. Also, you can learn a lot of knowledge from the repository.

Find this project useful? ❤️

Support it by joining stargazers for this repository.

License

Copyright 2021 Stream.IO, Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Fix Crash for low end devices.

    Fix Crash for low end devices.

    Guidelines

    Used Coil instead of Glide to load the Image. Glide is causing java.lang.RuntimeException: Canvas: trying to draw too large.

    Types of changes

    What types of changes does your code introduce?

    • [x] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    opened by yogeshpaliyal 3
  • Feature request: More testing

    Feature request: More testing

    Hey, I would like to suggest adding few libraries related to testing.

    Regarding mocking, I think it's better to use Mockk instead of Mockito - better Kotlin support.

    Regarding assertions, there is also assertk. We can choose assertion tool based on our personal preferences.

    I think it's also important to mention Kaspresso for UI Testing. It's based on Espresso and UI Automator but has a lot better Kotlin support :)

    What do you think?

    opened by mateuszteteruk 2
  • Hi, I found typing mistake!!

    Hi, I found typing mistake!!

    I'm looking at your roadmap well. But In App Navigation Part, Fragments (Fragmetn Transcations) -> (Fragment Transactions), i think it is collect typing. Thanks for watch my issues👍 (P.S, I really really helpful for watch your project & opensources. So I always rooting for you. Thanks for your tect skills...??❤)

    opened by SSong-develop 2
  • Create README_JP.md

    Create README_JP.md

    Guidelines

    Added the Japanese language support for README files. Ref: https://github.com/skydoves/android-developer-roadmap/issues/40

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [X] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by masah517 0
  • minor improvement for ID translation

    minor improvement for ID translation

    Guidelines

    improve translate and fix spacing in ID translation

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by wiryadev 0
  • Add French translation of README.md

    Add French translation of README.md

    Guidelines

    Add French translation of README.md

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by yveskalume 0
  • Compose Animation node updated

    Compose Animation node updated

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Compose Animation node updated

    Screen Shot 2022-06-06 at 11 07 28 AM

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by pollux- 0
  • Add Indonesian translation of README.md

    Add Indonesian translation of README.md

    Guidelines

    Add Indonesian translation of README.mdand add missing README links in each language.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by kharismarizqii 0
  • Update README_TR.md

    Update README_TR.md

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by serkanalc 0
  • Add Turkish translation of README.md

    Add Turkish translation of README.md

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by serkanalc 0
  • Create README_TR.md

    Create README_TR.md

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by serkanalc 0
  • Add corresponding Ressources to each part and estimate how much time that takes to learn this

    Add corresponding Ressources to each part and estimate how much time that takes to learn this

    Add corresponding resources to each part and estimate how much time that takes to learn this from zero to hero.

    For instance to learn kotlin :

    • https://hyperskill.org/tracks/18
    • https://kotlinlang.org/docs/home.html
    • https://developer.android.com/kotlin
    • https://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011
    opened by kasali 0
  • Create README_SWA.md

    Create README_SWA.md

    Added a Swahili Language Translation

    Guidelines

    The Idea behind adding the Swahili Language Translation is to be able to allow understanding of the android roadmap especially for the developers from Tanzania and several east African regions.

    Types of changes

    What types of changes does your code introduce?

    • [ ] Language (Swahili Translation)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by mkaomwakuni 0
  • [Suggestion] It would be great if we can add domain layer discussion

    [Suggestion] It would be great if we can add domain layer discussion

    Great initiative.

    Not sure if it is already included somewhere. I think It would be great if we can add domain layer discussion as well. In my opinion, it is useful when working in a mobile app which has more features and multiple use cases.

    opened by vsay01 0
  • Debugging and qa & app publishing nodes updated

    Debugging and qa & app publishing nodes updated

    Guidelines

    Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.

    Debugging node updated Screenshot 2022-08-11 at 03 35 43

    ===============================================================================

    QA & App publishing node updated Screenshot 2022-08-11 at 03 35 31

    Types of changes

    What types of changes does your code introduce?

    • [ ] Bugfix (non-breaking change which fixes an issue)
    • [X] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Preparing a pull request for review

    Ensure your change is properly formatted by running:

    $ ./gradlew spotlessApply
    

    Please correct any failures before requesting a review.

    opened by UrielTovar 1
  • Add Accessibility

    Add Accessibility

    Could be separate or in different categories

    Maybe part of Design Guides branch: https://material.io/design/usability/accessibility.html#understanding-accessibility

    Semantics in Compose branch: https://developer.android.com/jetpack/compose/semantics

    Accessibility Scanner could go in Testing branch: https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor

    opened by lsurvila 0
Releases(1.0.7)
  • 1.0.7(Jan 8, 2023)

    The 2022 Android Developer Roadmap supports 14 different world languages in README! 🌍

    English, German, Spanish, Turkish, French, Korean, Chinese, Japanese, Arabic, Bahasa Indonesia, Farsi, Portuguese, Khmer, and Vietnamese.

    What's Changed

    • Add README_CN.md for Chinese by @AlanCheen in https://github.com/skydoves/android-developer-roadmap/pull/41
    • Create README_JP.md by @masah517 in https://github.com/skydoves/android-developer-roadmap/pull/43
    • Added Persian/Farsi translation by adding README_FA.md by @yamin8000 in https://github.com/skydoves/android-developer-roadmap/pull/45

    New Contributors

    • @AlanCheen made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/41
    • @masah517 made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/43
    • @yamin8000 made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/45

    Full Changelog: https://github.com/skydoves/android-developer-roadmap/compare/1.0.6...1.0.7

    Source code(tar.gz)
    Source code(zip)
  • 1.0.6(Oct 9, 2022)

    The 2022 Android Developer Roadmap supports 11 different world languages in README! 🌍

    English, Korean, Arabic, German, Spanish, Turkish, Bahasa Indonesia, French, Portuguese, Khmer, and Vietnamese.

    What's Changed

    • Add README_AR : Arabic by @mohamedtamer0 in https://github.com/skydoves/android-developer-roadmap/pull/34
    • Add README_PT : Portuguese by @BinaryLeo in https://github.com/skydoves/android-developer-roadmap/pull/35
    • Add README_KHM For Khmer language by @vsay01 in https://github.com/skydoves/android-developer-roadmap/pull/36
    • Add README_VI.md for Vietnamese by @tsnAnh in https://github.com/skydoves/android-developer-roadmap/pull/38
    • minor improvement for ID translation by @wiryadev in https://github.com/skydoves/android-developer-roadmap/pull/39

    New Contributors

    • @mohamedtamer0 made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/34
    • @BinaryLeo made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/35
    • @vsay01 made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/36
    • @tsnAnh made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/38
    • @wiryadev made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/39

    Full Changelog: https://github.com/skydoves/android-developer-roadmap/compare/1.0.5...1.0.6

    Source code(tar.gz)
    Source code(zip)
  • 1.0.5(Sep 19, 2022)

  • 1.0.4(May 18, 2022)

  • 1.0.3(Mar 1, 2022)

  • 1.0.2(Jan 28, 2022)

    New Articles

    New Translations

    • Add Spanish translation of README.md by @SamGarciaDev in https://github.com/skydoves/android-developer-roadmap/pull/20
    • Add Turkish translation of README.md by @serkanalc in https://github.com/skydoves/android-developer-roadmap/pull/23

    New Contributors

    • @SamGarciaDev made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/20
    • @serkanalc made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/22

    Full Changelog: https://github.com/skydoves/android-developer-roadmap/compare/1.0.1...1.0.2

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Dec 8, 2021)

    What's Changed

    • Added CI/CI section by @skydoves in #7, #9
    • Fix typo on the Fragment, Theming, Resource isolations by @skydoves in #3, #5, #17
    • Fix Crash for low-end devices. by @yogeshpaliyal in https://github.com/skydoves/android-developer-roadmap/pull/8
    • Korean translation for README by @skydoves in https://github.com/skydoves/android-developer-roadmap/pull/2
    • German translation for README by @marcauberer in https://github.com/skydoves/android-developer-roadmap/pull/15

    New Contributors

    • @skydoves made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/2
    • @yogeshpaliyal made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/8
    • @marcauberer made their first contribution in https://github.com/skydoves/android-developer-roadmap/pull/15

    Full Changelog: https://github.com/skydoves/android-developer-roadmap/compare/1.0.0...1.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Dec 1, 2021)

Owner
Jaewoong Eum
Android and open source software engineer.❤️ Digital Nomad. Love coffee, music, magic tricks, and writing poems. Coffee Driven Development
Jaewoong Eum
projeto replicado do pathways do Developer.android com estudo de Jetpack-Compose

ListConversationCompose Projeto replicado do pathways do Developer.android com estudo de Jetpack-Compose Tutorial do Jetpack Compose O Jetpack Compose

Luiz Correa 1 Dec 9, 2021
https://developer.android.com/codelabs/jetpack-compose-theming

Jetpack Compose Theming Codelab This folder contains the source code for the Jetpack Compose Theming codelab. In this codelab you will learn how to us

Carlos Barrios 1 May 6, 2022
An MVI project setup using Jetpack compose. This would be a good place to start learning Model View Intent (MVI) architecture for Android.

Compose-MVI An MVI project setup using Jetpack compose. This would be a good place to start learning Model View Intent (MVI) architecture for Android.

null 6 Jul 28, 2022
An application that i developed with a aim of learning Jetpack compose and many other jetpack libraries

An application that i developed with a aim of learning Jetpack compose and many other jetpack libraries, The application make use of jikan Api which displays a list of animations,there more details and even trailers of the animations.

Odhiambo Brandy 10 Nov 23, 2022
Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

MindOrks 382 Jan 5, 2023
Sunflower - A gardening app illustrating Android development best practices with Android Jetpack

Sunflower - A gardening app illustrating Android development best practices with Android Jetpack

Vinicius Amaral 1 Apr 17, 2022
From Swedish "Öppettider", an app to quickly access your favorite places' opening times. Built to practice Android development and try out Jetpack Compose.

Appettider From Swedish "Öppettider", an app to quickly access your favorite places' opening times. Built to practice Android development and try out

Arianna Masciolini 0 Dec 6, 2021
Android UI Development with Jetpack Compose, published by Packt

Android UI Development with Jetpack Compose This is the code repository for Android UI Development with Jetpack Compose, published by Packt. Bring dec

Packt 158 Dec 31, 2022
📱 WhatsApp clone project demonstrates modern Android development built with Jetpack Compose and Stream Chat SDK for Compose.

This is a WhatsApp clone app built with Jetpack Compose and Stream Chat SDK for Compose. The purpose of this repository is to demonstrate below: Imple

Stream 689 Dec 25, 2022
JetFlix - A clone of Android NetFlix app in Android built using Jetpack compose.

JetFlix A clone of Android NetFlix app in Android built using Jetpack compose. This sample app showcases the following: MVVM Architecture (ViewModel +

Pushpal Roy 40 Dec 6, 2022
Android Jetpack is a set of components, tools and guidance to make great Android apps.

Android Jetpack is a set of components, tools and guidance to make great Android apps. They bring together the existing Support Library and Architecture Components and arrange them into four categories.

Atik Faysal 0 Dec 8, 2021
Split Food Bill is an android application where user can split the expenses based on the number of people joined the trip. This application is developed using Android's Jetpack Compose

SplitFoodBill-Compose Split Food Bill is an android application where user can split the expenses based on the number of people joined the trip. This

Shivaprasad Bhat 1 Jan 17, 2022
Android.compose.squircle - Android LightWeight Squircle Library for JetPack Compose

Android LightWeight Squircle Library for JetPack Compose Usage Based on Compose

Quang Nguyen 9 Jul 5, 2022
Foldable-chat-android - Foldable chat Android demonstrates adaptive and responsive UIs with Jetpack WindowManager API

Foldable Chat Android A foldable chat Android demonstrates adaptive and responsi

Stream 31 Oct 29, 2022
Fast android task that finished in only 3 hours, it gets the information from national number without database. I just wanna refine my skills in android basics so I try to make this simple project.

RaqmQawmy it is a fast android task that finished in only 3 hours, it gets the information from national number without database. I just wanna refine

Mahmoud Abdelazim 3 May 15, 2022
A LibrePhotos android client written using Jetpack Compose and all the latest Android technologies

UhuruPhotos. A LibrePhotos client UhuruPhotos is an Android client for LibrePhotos written using the latest Android technologies, like Jetpack Compose

Savvas Dalkitsis 190 Jan 3, 2023
🎺 Orchestra is a collection of Android custom view compatible libraries for Jetpack Compose.

Orchestra ?? Jetpack Compose compatible libraries using Balloon, ColorPickerView, PowerSpinner. Balloon Add below codes to your root build.gradle file

Jaewoong Eum 408 Jan 4, 2023
Neumorphism UI on Android with Jetpack Compose.

Neumorphism UI with Jetpack Compose This library is an experimentation with Neumorphism UI (New + Skeuomorphism) on Android with Jetpack Compose. How

Nikhil Chaudhari 260 Jan 5, 2023
Lightweight library to tweak the fling behaviour in Android. This library is only compatible with Jetpack-Compose.

Flinger (Only compatible with compose) What is Flinger? Flinger is a plugin that is made on top of jetpack compose that will help the developer to twe

Joseph James 73 Dec 24, 2022