avatarAmit Shekhar

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

2485

Abstract

ogs</li><li>Toast & Snackbar</li></ul><p id="d189">Storage</p><ul><li>Shared Preferences</li><li>File Systems</li><li>Database</li><li>RoomDB</li></ul><p id="85e4">Build</p><ul><li>Gradle</li><li>Debug / Release Configuration</li></ul><p id="faf3">Threading</p><ul><li>Thread</li><li>Handler/Looper</li><li>ThreadPoolExecutor</li><li>RxJava</li><li>Coroutines/Flow</li><li>WorkManager</li></ul><p id="49c2">Debugging</p><ul><li>Memory profiling</li><li>Logging</li><li>Systrace</li><li>Exceptions</li><li>Error Handling</li></ul><p id="6269">Memory Leak</p><ul><li>Detecting and Fixing Memory Leaks</li><li>Context</li></ul><p id="5c71">3rd Party Library</p><p id="f9c1">Image Loading</p><ul><li>Glide</li><li>Picasso</li></ul><p id="d012">Dependency Injection</p><ul><li>Dagger</li></ul><p id="1fa6">Networking</p><ul><li>Fast Android Networking Library</li><li>Retrofit</li></ul><p id="499b">MultiThreading</p><ul><li>RxJava</li><li>Coroutines</li><li>Kotlin Flow API</li></ul><p id="bcb9">Coroutines</p><ul><li>coroutines</li><li>suspend</li><li>launch, async-await, withContext</li><li>dispatchers</li><li>scope, context, job</li><li>lifecycleScope, viewModelScope, GlobalScope</li><li>suspendCoroutine, suspendCancellableCoroutine</li><li>coroutineScope, supervisorScope</li></ul><p id="d584">You can learn these topics here: <a href="https://github.com/amitshekhariitbhu/Learn-Kotlin-Coroutines">Learn-Kotlin-Coroutines</a></p><p id="9f13">Kotlin Flow API</p><ul><li>Flow Builder, Operator, Collector</li><li>flowOn, dispatchers</li><li>Operators such as filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest</li><li>Terminal operators</li><li>StateFlow, SharedFlow, callbackFlow, channelFlow</li></ul><p id="e3d9">You can learn these topics here: <a href="https://github.com/amitshekhariitbhu/Learn-Kotlin-Flow">Learn-Kotlin-Flow</a></p><p id="0f25">Data Format</p><ul><li>JSON: GSON, Moshi</li><li>Flat Buffer</li><li>Protocol Buffer</li></ul><p id="e5e2">Android Jetpack</p><p id="1411">Foundation Components</p><ul><li>AppCompat</li><li>Android KTX</li><li>Multidex</li></ul><p id="b3c1">Architecture Components</p><ul><li>LiveData</li><li>ViewModel</li><li>DataBinding</li><li>Paging</li><li>Work Manager</li><li>Navigation</li></ul><p id="83c6">Behaviour Components</p><ul><li>Download Manager</li><li>Media Playback</li><li>Notification</li><li>Permissions</li><li>Preference</li><li>Sharing</li><li>Slice</li></ul><p id="7176">UI Compon

Options

ent</p><ul><li>Animation & Transition</li><li>Android Auto</li><li>Emoji</li><li>Palette</li><li>Android TV</li><li>Android Wear</li></ul><p id="c8c0">Compose</p><ul><li>State: remember, rememberSaveable, MutableState</li><li>Recomposition</li><li>State hoisting</li><li>Side-effects</li><li>Modifier</li><li>Theme</li><li>Layout, List</li><li>Gestures, Animation</li><li>CompositionLocal</li></ul><p id="b84b">Common Design Patterns and Architecture</p><ul><li>Builder Pattern</li><li>Singleton</li><li>Dependency Injection</li><li>Factory</li><li>Observer</li><li>Repository</li><li>MVVM</li><li>MVP</li><li>MVI</li><li>Clean architecture</li></ul><p id="2c28">Unit Testing</p><ul><li>Local Unit Testing</li><li>Instrumentation Testing</li></ul><p id="e07d">Firebase</p><ul><li>FCM</li><li>Crashlytics</li><li>Analytics</li><li>Remote Config</li><li>App Indexing</li><li>Dynamic Link</li></ul><p id="ddba">Security</p><ul><li>Encrypt / Decrypt</li><li>Proguard</li><li>R8</li></ul><p id="2b10">App Release</p><ul><li>.keystore file</li><li>App Bundle</li><li>Playstore</li></ul><p id="d720">Keep Learning and Improving</p><p id="2223">Prepare yourself for Android Interview: <a href="https://github.com/amitshekhariitbhu/android-interview-questions">Android Interview Questions</a></p><p id="847b">That’s it for now.</p><p id="9e47">Further, Always be updated with the new technology in Android. If you miss it, you simply miss it. The best way to be always updated is to follow some Twitter accounts.</p><p id="5fab">I post updates on Twitter about all the new things in Android. So, follow me on Twitter.</p><ul><li><a href="https://twitter.com/amitiitbhu">My Twitter Account</a>.</li></ul><p id="ac4a">Want to know more about me? Visit <a href="https://amitshekhar.me/"><b>amitshekhar.me</b></a>.</p><p id="5e46"><b>Also, let’s become friends on</b> <a href="https://www.linkedin.com/in/amit-shekhar-iitbhu/"><b>Linkedin</b></a><b>,</b> <a href="https://github.com/amitshekhariitbhu"><b>Github</b></a><b>,</b> <a href="https://www.quora.com/profile/Amit-Shekhar-10"><b>Quora</b></a><b>, and <a href="https://www.facebook.com/amit.shekhar.iitbhu">Facebook</a>.</b></p><div id="59b4"><pre>Clap, share <span class="hljs-keyword">if</span> you like <span class="hljs-keyword">it</span> <span class="hljs-keyword">and</span> follow <span class="hljs-keyword">me</span> <span class="hljs-keyword">for</span> <span class="hljs-keyword">the</span> updates.</pre></div></article></body>

A Roadmap To Become A Better Android Developer

This article is for:

  • Anyone who wants to learn Android Development but has no idea where to start.
  • Also for anyone who has already started on Android Development but wants to become better.

The goal is to provide a proper roadmap to becoming a better Android Developer. If this roadmap helps you in becoming a better Android Developer, then my mission will be accomplished.

I am Amit Shekhar, a mentor helping developers learn Android Development and get high-paying jobs as Android Engineers and I will continue the same to help learners in getting started with Android Development.

Sharing the knowledge, sharing the love

Prepare yourself for Android Interview: Android Interview Questions

Roadmap for Android Developer

You can find the updated version here: Android Developer Roadmap

Programming

  • Java
  • Kotlin

Android Studio

  • Android Studio IDE Overview
  • Project Structure
  • Java/Kotlin
  • XML
  • .gradle files

Android Component

  • Activity
  • Activity Lifecycle
  • Tasks & Back Stack
  • Service
  • Broadcast Receiver
  • Content Provider

Intents

  • Types of Intent
  • Implicit
  • Explicit
  • Intent Filter

Static User Interface

  • View: Button, ImageView, TextView, EditText, etc
  • ViewGroup: LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout

Dynamic User Interface

  • RecyclerView
  • ViewPager
  • Spinner

CustomView

  • Canvas
  • Bitmap
  • Paint

UI Resources

  • Drawables
  • String
  • Styles

Fragments

  • Fragment Lifecycle
  • Fragment Manager

Support User Interface

  • ProgressBar
  • Dialogs
  • Toast & Snackbar

Storage

  • Shared Preferences
  • File Systems
  • Database
  • RoomDB

Build

  • Gradle
  • Debug / Release Configuration

Threading

  • Thread
  • Handler/Looper
  • ThreadPoolExecutor
  • RxJava
  • Coroutines/Flow
  • WorkManager

Debugging

  • Memory profiling
  • Logging
  • Systrace
  • Exceptions
  • Error Handling

Memory Leak

  • Detecting and Fixing Memory Leaks
  • Context

3rd Party Library

Image Loading

  • Glide
  • Picasso

Dependency Injection

  • Dagger

Networking

  • Fast Android Networking Library
  • Retrofit

MultiThreading

  • RxJava
  • Coroutines
  • Kotlin Flow API

Coroutines

  • coroutines
  • suspend
  • launch, async-await, withContext
  • dispatchers
  • scope, context, job
  • lifecycleScope, viewModelScope, GlobalScope
  • suspendCoroutine, suspendCancellableCoroutine
  • coroutineScope, supervisorScope

You can learn these topics here: Learn-Kotlin-Coroutines

Kotlin Flow API

  • Flow Builder, Operator, Collector
  • flowOn, dispatchers
  • Operators such as filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest
  • Terminal operators
  • StateFlow, SharedFlow, callbackFlow, channelFlow

You can learn these topics here: Learn-Kotlin-Flow

Data Format

  • JSON: GSON, Moshi
  • Flat Buffer
  • Protocol Buffer

Android Jetpack

Foundation Components

  • AppCompat
  • Android KTX
  • Multidex

Architecture Components

  • LiveData
  • ViewModel
  • DataBinding
  • Paging
  • Work Manager
  • Navigation

Behaviour Components

  • Download Manager
  • Media Playback
  • Notification
  • Permissions
  • Preference
  • Sharing
  • Slice

UI Component

  • Animation & Transition
  • Android Auto
  • Emoji
  • Palette
  • Android TV
  • Android Wear

Compose

  • State: remember, rememberSaveable, MutableState
  • Recomposition
  • State hoisting
  • Side-effects
  • Modifier
  • Theme
  • Layout, List
  • Gestures, Animation
  • CompositionLocal

Common Design Patterns and Architecture

  • Builder Pattern
  • Singleton
  • Dependency Injection
  • Factory
  • Observer
  • Repository
  • MVVM
  • MVP
  • MVI
  • Clean architecture

Unit Testing

  • Local Unit Testing
  • Instrumentation Testing

Firebase

  • FCM
  • Crashlytics
  • Analytics
  • Remote Config
  • App Indexing
  • Dynamic Link

Security

  • Encrypt / Decrypt
  • Proguard
  • R8

App Release

  • .keystore file
  • App Bundle
  • Playstore

Keep Learning and Improving

Prepare yourself for Android Interview: Android Interview Questions

That’s it for now.

Further, Always be updated with the new technology in Android. If you miss it, you simply miss it. The best way to be always updated is to follow some Twitter accounts.

I post updates on Twitter about all the new things in Android. So, follow me on Twitter.

Want to know more about me? Visit amitshekhar.me.

Also, let’s become friends on Linkedin, Github, Quora, and Facebook.

Clap, share if you like it and follow me for the updates.
Android
Android App Development
AndroidDev
Android Apps
Android Development
Recommended from ReadMedium