Android Development Learning Path — 2020 Edition
By: Amit Shekhar
Tags: Android App Development, AndroidDev, Android, Android Development, Android Apps

A Complete Learning path for Android Developer

I have been continuously getting requests on different channels to help with the learning path for Android Developers. So, I decided to answer this and help learners. I am sure this is going to help many developers who are willing to become a better Android Developer.

A complete guide for learning Android App development

You just need to follow the following path for learning Android Development in 2020. You can find the updated resources to learn each topic mentioned in the learning path here.

Watch the video format here.

Let's get started

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, and 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

Threads

Handler / Looper

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

Data Format

JSON — GSON

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

Architecture

MVVM

MVI

MVP

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

Keep looking for new content on Android Development here.

If you are looking for interview preparation kit for your next job. Check here for the Tech Interview Preparation Kit.

You can download the image format of this learning path from here.

You can find the updated free tutorials to learn each topic mentioned in the learning path here.

Learn to build a ride-sharing Android app like Uber, Lyft.

If you need any help during your learning, do not hesitate to reach out to me via different channels: Twitter, Linkedin, Github, Quora, and Facebook.

Thanks, have a wonderful journey ahead.