🗺 The 2023 Android Developer Roadmap suggests learning paths to understanding Android development.
Find a file
2024-01-17 09:32:10 -07:00
.github Update build workflow 2023-10-03 02:27:58 +09:00
app Update demo project 2023-10-03 02:22:50 +09:00
figma Compose Animation node updated 2022-06-06 11:13:45 -07:00
gradle/wrapper Update demo project 2023-10-03 02:22:50 +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 project 2023-10-03 02:22:50 +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 Update demo project 2023-10-03 02:22:50 +09:00
gradlew.bat Update demo project 2023-10-03 02:22:50 +09:00
LICENSE initial commit 2021-12-01 11:25:44 +09:00
README.md Merge d135387b0e into 6563acc5d1 2024-01-17 09:32:10 -07:00
README_AR.md Update README_AR.md 2024-01-17 14:24:03 +02:00
README_CN.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_DE.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_ES.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_FA.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_FR.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_ID.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_JP.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_KHM.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_KR.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_PT.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_TH.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_TR.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
README_VI.md Add Jetpack Compose: Part 5 blog post 2024-01-17 09:22:09 +09:00
settings.gradle Update demo project 2023-10-03 02:22:50 +09:00
spotless.license.kt Updates copyright 2021-12-01 16:07:22 +09:00

Android Developer Roadmap


License Build Status Kotlin Weekly Android Weekly Profile

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

Android Developer Roadmap 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

Content 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

✍️ Articles


The 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 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, video/audio calls, or livestreaming feature, which is an easy-to-use, open-sourced, Kotlin-first, actively maintained, check out the Stream Chat for Android and Stream Video SDK for Compose.

📱 Demo Application

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

🤝 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.