Learning Android Development In 2022 - A Practical Guide

Amit Shekhar
MindOrks
Published in
3 min readJan 2, 2019

I am Amit Shekhar, Co-Founder @ Outcome School • IIT 2010–14 • I have taught and mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.

Sharing the knowledge, sharing the love

I keep sharing my knowledge on Twitter.

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

Prepare yourself for Android Interview: Android Interview Questions

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 learn the advanced topics.

Roadmap for Android Developer

You can find the updated version here: Android Developer Roadmap

The goal is to provide a practical guide on how to learn Android Development in 2022. If this practical guide helps you in learning Android App Development, then my mission will be accomplished.

Let’s start.

Learn a programming language, you have two choices here:

  • Java
  • Kotlin

I believe even though you are starting with Kotlin, to get the most out of Kotlin, it is good to have a basic knowledge of Java.

After learning the programming language, you need to have an understanding of the fundamental building blocks of Android development.

Here is the list of all the things you need to know:

  • Android Studio IDE Overview
  • Project Structure — Java/Kotlin, XML, .gradle files
  • Activity — Activity Lifecycle, Tasks & Back Stack
  • Service, Broadcast Receiver
  • Content Provider
  • Types of Intent — Implicit, Explicit
  • Intent Filter
  • View — Button, ImageView, TextView, EditText, etc
  • ViewGroup — LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout
  • RecyclerView, ViewPager, Spinner
  • Canvas, Bitmap, and Paint
  • Drawables, String, and Styles
  • Fragment Lifecycle and Fragment Manager
  • ProgressBar, Dialogs, Toast & Snackbar
  • Shared Preferences and File Systems
  • Database — RoomDB
  • Gradle and Debug / Release Configuration
  • Threads and Handler / Looper
  • Memory profiling
  • Logging, Systrace
  • Exceptions and Error Handling
  • Detecting and Fixing Memory Leaks
  • Context
  • Image Loading — Glide, Picasso
  • Dependency Injection — Dagger
  • Networking — Fast Android Networking Library, Retrofit
  • MultiThreading — RxJava, Coroutines: Learn Kotlin Coroutines from here.
  • JSON — GSON, Flat Buffer, Protocol Buffer
  • Foundation Components — AppCompat, Android KTX, Multidex
  • Architecture Components — LiveData, ViewModel, DataBinding, Paging, Work Manager, Navigation
  • Behavior Components — Download Manager, Media Playback, Notification, Permissions, Preference, Sharing, Slice
  • UI Component — Animation & Transition
  • MVVM, MVI, and MVP architecture
  • Local Unit Testing and Instrumentation Testing
  • FCM, Crashlytics, Analytics, and Remote Config
  • App Indexing and Dynamic Link
  • Encrypt / Decrypt
  • Proguard and R8
  • About the .keystore file, App Bundle, and Playstore release process

To learn all of the above, follow Learn-By-Doing Methodology.

  • First, go through the official website of Android by Google to learn the basics and the initial topics listed above, or try to learn the initial topics listed above from various resources like blogs, videos, etc.
  • Start building projects and learn about the topics in detail as needed during your project building.

Here, I am listing a few of the projects which you can consider building:

  • NewsApp
  • Ride-Sharing App Like Uber/Lyft
  • Twitter Clone
  • Quiz App
  • Todo Notes App
  • GitHub Client Clone
  • Social Media Clone
  • Music Player App
  • IMDB Movie Clone App
  • Restaurant Listing App

For the above-mentioned apps, you can get the API publicly available or you can create the mock API using the mock API website.

You can also check: How do I learn a new thing in tech?

Prepare yourself for Android Interview: Android Interview Questions

That’s it for now.

Happy Learning :)

Thanks

Amit Shekhar

Co-Founder @ Outcome School

Clap, share if you like it and follow me for the updates.

--

--

Amit Shekhar
MindOrks

Co-Founder @ Outcome School | Coder | Teacher | Mentor | Open Source | IIT 2010-14 | Android | Machine Learning | Backend