🗺 The 2023 Android Developer Roadmap suggests learning paths to understanding Android development.
Find a file
2023-01-30 04:51:28 +02:00
.github Add github relevant files 2021-12-01 11:28:13 +09:00
app Update demo codes 2022-10-07 10:09:48 +09:00
figma Compose Animation node updated 2022-06-06 11:13:45 -07:00
gradle/wrapper Update demo codes 2022-10-07 10:09:48 +09:00
images Update the dark mode Android developer roadmap 2022 2022-10-11 13:52:05 +09:00
.gitignore initial commit 2021-12-01 11:25:44 +09:00
build.gradle Update demo codes 2022-10-07 10:09:48 +09:00
CONTRIBUTING.md initial commit 2021-12-01 11:25:44 +09:00
gradle.properties initial commit 2021-12-01 11:25:44 +09:00
gradlew initial commit 2021-12-01 11:25:44 +09:00
gradlew.bat initial commit 2021-12-01 11:25:44 +09:00
LICENSE initial commit 2021-12-01 11:25:44 +09:00
README.md Add roadmap bullet check-list 2023-01-30 04:51:28 +02:00
README_AR.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_CN.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_DE.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_ES.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_FA.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_FR.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_ID.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_JP.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_KHM.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_KR.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_PT.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_TH.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_TR.md Translate to Thai 2023-01-10 01:49:21 +07:00
README_VI.md Translate to Thai 2023-01-10 01:49:21 +07:00
settings.gradle Update demo codes 2022-10-07 10:09:48 +09:00
spotless.license.kt Updates copyright 2021-12-01 16:07:22 +09:00

Android Developer Roadmap 2022


License Build Status Kotlin Weekly Android Weekly Profile

Arabic | English | 한국어 | Deutsch | Español | Turkish | Bahasa Indonesia | Français | Portuguese | ភាសាខ្មែរ | Vietnamese | 中文 | 日本語 | فارسی | ภาษาไทย

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, you don't need to learn everything from this roadmap. So we recommend only reading the sections that would be helpful to you.

🗺 Roadmap

Dark mode Android Developer Roadmap

Roadmap


Roadmap

✍️ Articles


The 2022 Android Developer Roadmap is designed to give you a comprehensive understanding of the current Android ecosystem and provides suggested learning paths along the way to help you grasp the concepts.

In this multipart series, you'll learn all about the Android development ecosystem following our 2022 Android Developer Roadmap, giving you a more holistic view of the Android community and how you can progress as a developer.

If you'd like to get notified as we release future posts, join the watchers on GitHub or follow Stream on Twitter. You can also follow the author of this repository on GitHub.

⛴ Stream

If you're interested in building a robust chat feature, which is an easy-to-use, open-sourced, Kotlin-first, actively maintained, check out the Stream Chat for Android. If you're interested in building chat features with Jetpack Compose, you can also check out Stream Chat for Compose, which provides a lot of Jetpack Compose components.

📱 Demo Application

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

Roadmap list

    • Application Fundamentals
      • Languages
          • Kotlin
          • Java
          • C++ (JNI)
      • Android Package
          • APK
          • AAB
    • Android Operating System
      • Multi-User Linux
      • File Permissions
      • Resource Isolations
      • Process Management
    • Android Platform Architecture
      • The Linux Kernel
      • Hardware Abstraction Layer
      • Android Runtime
      • Native Libraries
      • Java API Framework
      • System Apps
    • App Manifest
      • Package
      • Application ID
    • App Components
      • Activity (detailed later)
      • Service
      • Broadcast Receiver
      • Content Provider
      • Intent
          • Intent Filters
          • Explicit Intents
          • Implicit Intents
    • App Architecture
    • App Entry Points
      • Activities
          • Activity Lifecycles
          • Activity State Changes
          • Task and Back Stack
          • Parcelables and Bundles
      • App Shortcuts
    • App Navigation
      • Navigation Component
          • Navigation Graph
          • Global Actions
          • Destinations
          • DeepLink
      • Fragments
          • DialogFragment
          • BottomSheetDialogFragment
          • Fragment Lifecycles
          • Fragment State Changes
          • Fragment Manager
          • Fragment Transactions
      • App Links
          • TabLayout
          • ViewPager
          • ViewPager2
          • Custom Back Navigation
    • App Startup
    • Dependency Injection (detailed later)
    • Architecture Components
      • UI Layer
          • ViewBinding
          • DataBinding
          • Lifecycle
          • ViewModel
          • LiveData
          • Paging
      • Data Layer
          • Data Store
          • WorkManager
    • Design Patterns
      • Builder Pattern
      • Factory Pattern
      • Dependency Injection
          • Dagger
          • Hilt
          • Koin
          • Kodein
      • Repository Pattern
      • Observer Pattern
          • Flow
          • RxJava/RxKotlin
          • LiveData
    • Architecture
      • MVVM
      • MVP
      • MVI
      • MVC
      • Clean Architecture
    • Network
      • OkHttp
          • Interceptor
      • Okio
      • Retrofit
      • Ktor
      • Volley
      • Apollo-Android
    • Image Loading
      • Glide
      • Fresco
      • Coil
      • Picasso
    • Local Storage
      • SQLite
          • SQLDelight
          • Room
      • DataStore
      • Realm
      • SharedPreferences
    • Asynchronous
      • Coroutines
      • RxJava/RxKotlin
      • Thread
      • WorkManager
    • User Interface
      • Layouts
          • ConstraintLayout
          • MotionLayout
          • LinearLayout
          • FrameLayout
          • Material
          • RecyclerView
      • Design Guides
          • Material
          • Material You
          • Neumorphism
      • Styles
          • Light Theme
          • Dark Theme
      • Message
          • Toast
          • Snackbar
          • Notification
      • Animation
          • ValueAnimator
          • ObjectAnimator
          • Lottie
          • Material Motion
    • Compose UI:
      • Recomposition
          • Snapshot
      • State:
          • State Hoisting
              • MutableState
              • remember
              • rememberSaveable
      • Side-Effects:
          • LaunchedEffect
          • DisposableEffect
          • produceState
          • derivedStateOf
          • snapshotFlow
      • Theming:
          • Material
              • Color
              • Typography
              • Shape
          • Custom
              • Dimens
              • Factories
              • Data
      • Modifier:
          • Modifier Order
          • Chaining
          • Composed Modifier
      • Layout:
          • Column
          • Box
          • Row
          • ConstraintLayout
      • List:
          • LazyColumn
          • LazyRow
          • LazyVerticalGrid
          • LazyPagingItems
      • Image:
          • Icon
          • Image
              • coil-compose
              • Landscapist
      • Text:
          • TextField
          • OutlinedTextField
          • ClickableText
      • Graphics:
          • Surface
          • Canvas
      • Gestures:
          • Scrolling
          • Dragging
          • Swiping
          • Zooming
      • Animation:
          • AnimatedVisibility
          • AnimatedContent
          • Crossfade
          • rememberInfiniteTransition
          • animateContentSize
          • updateTransition
          • animate*AsState
          • AnimationState
          • animate
          • Animatable
          • Animation
      • CompositionLocal:
          • CompositionLocalProvider
          • compositionLocalOf
          • staticCompositionLocalOf
    • Service:
      • Google:
          • Google Play Services
          • Google Maps
      • Firebase:
          • Authentication
          • Crashlytics
          • Remote Config
          • Cloud Messaging
          • FiresStore
          • Realtime Database
      • Advertisements:
          • Google AdMob
          • Meta Audience Network
          • MoPub
    • Code Analysis & Testing:
      • Linter:
        • Ktlint
        • Detekt
        • Android Lint
      • Debugging:
        • Timber
        • LeakCanary
        • Stetho
        • Chucker
      • Unit Testing:
        • Unit Test:
            • JUnit
            • Kluent
            • Mockk
        • Android Test:
            • Robolectric
            • Espresso
            • Kaspresso
      • Benchmark
    • CI/CD:
      • GitHub Actions
      • Jenkins
      • Travis CI
      • Circle CI
      • Bitrise
    • QA & App Publishing:
      • Firebase App Distribution
      • Google Play

🤝 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.
And follow me for my next creations! 🤩

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.