You are on page 1of 20

1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Learning Android Development In 2021 - A


Practical Guide
Amit Shekhar Follow
Jan 2, 2019 · 12 min read

I helped many Android Developers in learning Android Development and getting jobs as
an Android Engineer and I will continue the same to help learners in getting started with
Android Programming.

Sharing the knowledge, sharing the love


https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 1/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

This article is for:

Anyone who wants to learn Android Development but have no idea where to start.

Also for anyone who has already started on Android Development but wants to learn
the advanced topics.

Update: I have updated this article in 2021.

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

A complete guide for learning Android App development

Android App Development Online Course


A complete guide for learning Android App development. Learn
Android App Development from the Best.
mindorks.com

Check Android Developer Roadmap on Github

MindorksOpenSource/android-developer-roadmap
Android Developer Roadmap — A complete roadmap to learn Android App Development …
github.com

All the Android Free Tutorials by MindOrks

Android Tutorial - Learn Android Development from the


best tutorial
Learn Android development, Kotlin, basic to most advanced through
the tutorial designed by the top developers across…
mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 2/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

How To Learn Android Development?

How To Learn Android Development?


How to learn Android app development? Here, I have tried to cover
most of the important things in the Android…
blog.mindorks.com

Getting started with the Android Development


First of all, you must have a basic knowledge of the Java language for Android
Development. Learn the Java language from here [Link to learn Java]

Set up Android Studio IDE of Android Development on your PC or Laptop. Refer


here.

Take a course or any book on Android app development with which you think you
are comfortable. Being comfortable with the course or with the book is very
important. When you take the course or read the book, always apply that on a
sample app. I mean to say that build something on whatever you read.

Android Development Online Course for Beginners: This course is for beginners for
those who want to get started with Android Development. In this course, you will learn
Android Development and build two Android Applications: TodoNotes and Ride-Sharing
Uber Android App.

Android App Development Online Course For Beginners


Start your career in Android Development. Learn Android
Development from basics.
mindorks.com

Apply Now: MindOrks Android Online Course and Learn Advanced Android

Android App Development Online Course For


Professionals
https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 3/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Join and learn Dagger, Kotlin, RxJava, MVVM, Architecture


Components, Unit Testing, and much more.
mindorks.com

Android Studio Tutorial For Beginners

Build your first Android application in Kotlin

Tips and Tricks of Android Studio

Android User Interface — XML and View Components. Refer here.

There is no better way to learn something than by


doing.
Learning the core of the Android Development
Understand the Activity Lifecycle as having the knowledge of the activity lifecycle is
very important when it comes to building a bug-free application.

Android Activity and its Lifecycle


https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 4/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks
Android Activity and its Lifecycle
Activity Lifecycle and Intent
blog.mindorks.com

Understand the Fragment and its lifecycle. It is primarily to support more dynamic
and flexible UI designs on large screens, such as tablets.

Android Fragments and its Lifecycle


Android Fragments
blog.mindorks.com

Learn how to debug your Android application as it is the single most important skill
for any developer. Android Studio provides a debugger that allows you to do so
many important things.

Debug your app | Android Developers


Android Studio supports several types of breakpoints that trigger
different debugging actions. The most common type is…
developer.android.com

Know about the navigations, task and back stack. Android Activities are the logical
construct of the screens that we want a user to navigate through. The relation that
each Activity holds with respect to other is very crucial for good user experience.

Android Task and Back Stack Review


Android Activities are the logical construct of the screens that we
want a user to navigate through. The relation that…
blog.mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 5/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Understanding the Context In Android Application. To develop a better Android app,


we must know what context is? Context is almost everywhere in Android
Development and it is the most important thing in the Android Development, so we
must understand to use it correctly.

Understanding Context In Android Application


What is Context?
blog.mindorks.com

Learn about the threading in detail. As the Java Virtual Machine allows an
application to have multiple threads of execution running concurrently. We must
know how to take advantage of multi-threading environment correctly.

Thread | Android Developers


Every thread has a priority. Threads with higher priority are executed
in preference to threads with lower priority…
developer.android.com

Learn about the Threading Performance: Threading Performance 101. (Android


Performance Patterns Season 5, Ep. 1)

Understand Android Threading: Understanding Android Threading. (Android


Performance Patterns Season 5, Ep. 2)

Learn Memory & Threading: Memory & Threading. (Android Performance Patterns
Season 5, Ep. 3)

Understand Threadpools: Swimming in Threadpools. (Android Performance Patterns


Season 5, Ep. 6)

Learn how to handle the configuration changes. Some device configurations can
change during the runtime such as screen orientation, keyboard availability, and
https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 6/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

when the user enables multi-window mode. We must know how to handle these
changes.

Handle con guration changes | Android Developers


It is not recommended to handle configuration changes yourself due
to the hidden complexity of handling the…
developer.android.com

Know about database and SQL.

Introduction to Room Persistent Library in Android

Know about the REST.

What is API?

Know how Backend works? Watch an introductory video here.

HTTP Request vs HTTP Long-Polling vs WebSockets

Learn about the content providers. They are used to share data between the
applications. They provide mechanisms for defining data security and for
encapsulating the data.

Android Content Provider in Kotlin


Content Provider is one of the Android Component helps to access
data of other apps. We will be learning Content…
blog.mindorks.com

Know about the 3rd party libraries. We have Mindorks Android Store to browse
through all the important Android libraries, projects, tools, and apps. Compare them
with their GitHub stars.

Android Store | Android Libraries, Projects, Tools and


https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 7/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Apps
Browse through all the important Android Libraries, Projects, Tools
and Apps. Compare them with their GitHub stars.
mindorks.com

Understanding the Android Core. Looper, Handler, and HandlerThread are the
Android’s way of solving the problems of asynchronous programming. They are not
old school, but a neat structure on which a complex android framework is built.

Understanding Android Core: Looper, Handler, and


HandlerThread
This Article covers Android Looper, Handler, and HandlerThread.
These are among the building blocks of Android OS.
blog.mindorks.com

Learn about Service and IntentService. A service is a component that is used to


perform operations on the background such as playing music, handle network
transactions, interacting content providers etc. It doesn’t have any UI (user
interface).

Services overview | Android Developers


Every app that runs a service places an additional load on the system,
consuming system resources. If an app tries to…
developer.android.com

Explore when you should consider using ArrayMap for better performance of the
Android application.

Android App Optimization Using ArrayMap and


SparseArray
This article will show why and when to use ArrayMap and SparseArray
to optimize your Android Applications.

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 8/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

blog.mindorks.com

Learn about the tools to get the metrics of memory usage, CPU usage, and etc. There
are a few metrics that you should measure continuously while android application
development.

Android App Performance Metrics


This article is completely about the metrics that you should measure
continuously while android application…
blog.mindorks.com

Learn about RecyclerView Optimization.

RecyclerView Optimization - Scrolling Performance


Improvement
In this blog, we are going to learn how to optimize the RecyclerView
performance in Android. With these optimizations…
blog.mindorks.com

Learn about the caching implementations.

Learn about the optimizing network request frequencies.

Learn about the Android Sensors, GPS, Acceleration.

Motion sensors | Android Developers


The rotation vector sensor and the gravity sensor are the most
frequently used sensors for motion detection and…
developer.android.com

Learn about location and maps.

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 9/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Location and Maps | Android Developers

Note: This is a guide to the Android framework location APIs in the


package location. The Google Location Services API…

developer.android.com

Learn about creating Custom View. To develop a better Android app, we must know
how to create custom views.

Create your own Custom View


In this blog, we will learn about the custom view and how to implement
it as one. We will talk about each and every…
blog.mindorks.com

Always focus more on learning techniques not so many frameworks. This helps in
the longer run. As an example, I wrote on: How The Android Image Loading Library
Glide and Fresco Works?

How The Android Image Loading Library Glide and


Fresco Works?
I am writing this article to share my knowledge which I have learned
the hard way.
blog.mindorks.com

Practical Guide To Solve OutOfMemoryError in Android Application

Practical Guide To Solve OutOfMemoryError in Android


Application
In this blog, we will learn how to solve OutOfMemoryError in Android
application. There can be many reasons for…
blog.mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 10/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Holding reference of objects that are not required anymore is a bad practice, freeing
object’s reference after being served is helpful for the garbage collector to kill that
object, that eventually helps yourself in memory leaks issues. If you keep objects
reference unnecessarily, it only leads to memory leaks. Learn how to detect and fix
the memory leaks in the Android application.

Detecting and xing memory leaks in android


Many a time we see ANR dialog while using android apps, lags in our
apps, we also see OutOfMemoryError in Android…
blog.mindorks.com

Learn about the performance patterns in Android applications. How to improve the
performance of your application.

Learn Garbage Collection in Android: Android Performance Patterns: Garbage


Collection in Android

Learn about Invalidations, Layouts, and Performance.

Understand Android UI and the GPU.

Understand Android Performance Patterns: Why 60fps?

Understand Android Performance Patterns: Tool — Profile GPU Rendering.

Learn about battery improvement.

Understand the app launch time and work on to improve it.

Know how you can reduce the APK size.

How to reduce APK size in android


Recently we have released an Android application. Then, many of the
folks started asking us that how…
blog.mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 11/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Android App Bundle


In Google I/O 2018, a new publishing format has been introduced for
Android applications called Android App Bundle. It…
medium.com

Android App bundle(.aab)


A new app publishing format is available in 3.2 version to deploy
customized apk to users using Google play’s dynamic…
medium.com

Understand Bitmaps. As it takes a huge amount of memory, can lead to OOM easily.
Users love content! Especially when the content is well formatted and looks nice.
Images, for instance, are extremely nice content, mainly due to their property of
conveying a thousand words per image. They also consume a lot of memory. A lot of
memory!

Handling bitmaps | Android Developers


Improve your app’s performance by learning how to optimize power
consumption, launch times, and other important areas…
developer.android.com

Learn the Android Architecture Components.

What are Android Architecture Components?


What are Android Architecture Components? As the Android Jetpack
components are a collection of libraries that are…
blog.mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 12/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Learn about writing tests.

Android Testing Codelab


In this codelab, you’ll learn how to get started with testing for Android.
We’ll look at the testing integration in…
codelabs.developers.google.com

Automated Performance Testing Codelab


In this codelab you will create a stable and reusable testing harness to
run performance tests on a very simple…
codelabs.developers.google.com

Learn RxJava. Nowadays RxJava is a must for developing an Android app.

A Complete Guide To Learn RxJava


A Complete Resources To Learn RxJava At One Place.
blog.mindorks.com

Learn Kotlin.

A Complete Guide To Learn Kotlin For Android


Development
A Complete Resources and Tutorials To Learn Kotlin For Android
Development At One Place.
blog.mindorks.com

Learn Kotlin Coroutines.


https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 13/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Mastering Kotlin Coroutines In Android - Step By Step


Guide
In this blog, we are going to master the Kotlin Coroutines in Android.
We will cover what exactly Coroutines are and…
blog.mindorks.com

Learn Kotlin Coroutines for Android by Examples

OkHttp Interceptor — Making the most of it

Learn about Design Patterns in Android.

Mastering Design Patterns in Android with Kotlin


In this blog, we will learn about various Design Patterns in Android
that will make our code cleaner and easier to…
blog.mindorks.com

Learn about the dependency injection, Dagger.

Introduction to Dagger 2, Using Dependency Injection in


Android: Part 1
This article contains a lot of information. So for the purpose of
readability I have broken it into two parts.
blog.mindorks.com

The New Dagger 2 Android Injector


How to use the new Dagger 2 Android Injector?
blog.mindorks.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 14/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Learn about Android Jetpack. Google released Android Jetpack. Android Jetpack is
built to make app development fast. It is the next generation of Android components
which brings together the benefits of the support library, backward compatibility
and immediate updates to a larger set of components. Android Jetpack manages
activities like background tasks, navigation, and lifecycle management, so you can
eliminate boilerplate code and focus on what makes your app great. Android Jetpack
is designed to work well with Kotlin, saving you even more code with Android KTX.

Learn about MVP architecture.

Android MVP Introduction


It is an architecture that provides code reusability and testability.
mindorks.com

Essential Guide For Designing Your Android App


Architecture: MVP: Part 1
If you make your foundations strong, then you can rise high and touch
the sky.
blog.mindorks.com

Learn about MVVM architecture.

MVVM Architecture - Android Tutorial for Beginners -


Step by Step Guide
In this tutorial, first, we are going to learn about the MVVM
architecture in Android and then we will build a project…
blog.mindorks.com

MindorksOpenSource/android-mvvm-architecture
android-mvvm-architecture — This repository contains a detailed
sample app that implements MVVM architecture using…
https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 15/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks
p pp p g

github.com

Learn the Data Structures

Android Developer should know these Data Structures for


Next Interview
In this blog, we are going to cover all the data structures which are
must for any Android Developers when it comes to…
blog.mindorks.com

Learn how to apply proguard in an Android application. It is a tool used to minify the
code, obfuscate the code, and optimize the code which reduces the size of the
application.

Applying Proguard In An Android Application


ProGuard is a tool used to minify, obfuscate, and optimize the code in
an Android application.
blog.mindorks.com

Read about the security tips to build a secure Android application.

Security tips | Android Developers


Dalvik is Android’s runtime virtual machine (VM). Dalvik was built
specifically for Android, but many of the concerns…
developer.android.com

Know about the Android Useful tools. As we all are fortunate to live in a world where
everyone builds a tool to help each other. These tools make the development fast
and our life easier. Do not forget to explore and use these tools.

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 16/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

Android Development Useful Tools

Over the years, these are the Android development tools I’ve found
most useful. I consistently use these tools to build…

blog.mindorks.com

Read others code. This is the best thing a developer can do and learn to code in the
best way. I personally feel that I have learned a lot from the code of the open-source
apps.

Know about the Android development best practices.

Android Development Best Practices


Let’s explore some best practices in designing and developing
Android apps.
blog.mindorks.com

futurice/android-best-practices
android-best-practices — Do’s and Don’ts for Android development,
by Futurice developers
github.com

Learn Git. It is a version control system for tracking changes in computer files and
coordinating work on those files among multiple people.

Learn the fundamentals of Git and GitHub from here.

Know how to improve your code with lint checks

Improve your code with lint checks | Android Developers


Android Studio provides a code scanning tool called lint that can help
you to identify and correct problems with the
https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 17/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks
you to identify and correct problems with the…
developer.android.com

Know about the Gradle Build Tool.

Gradle Tips and Tricks for Android


In this blog, we will learn some Gradle tips and tricks for Android. After
reading this blog, you will be able to use…
blog.mindorks.com

Contribute to open source projects. I love open source. It has really helped me a lot
to improve myself. So, start contributing to open source.

How to Contribute to Open Source


Want to contribute to open source? A guide to making open source
contributions, for first-timers and for veterans.
opensource.guide

Know about Continuous Integration. Continuous integration ensures that your code
is building on a server that is not your own machine. Use CI like Jenkins, Circle CI,
Travis, and etc.

Become more productive in android with android studio plugins.

How to become more productive in android with android


studio plugins
Android studio is a very robust tool. It has the simplest and yet the
most flexible interface to design UI for all…
medium.com

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 18/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks

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 join a community or follow some
twitter accounts. You can join Mindorks Community as we always keep posting new
things in the Slack group.

Link to join the Mindorks Community on Slack.

Mindorks | Become a complete and happy Android


developer
Learn Android development, basic to most advanced through the
courses designed by the top developers across the globe…
mindorks.com

We also post updates on Twitter about all the new things in Android. So, follow us on
Twitter.

Mindorks Twitter Account.

My Twitter Account.

Mindorks Facebook Page.

Open this link and subscribe to the channel and become a part of the largest
learning revolution.

Also, hear the android developer backstage podcasts to know about the awesome things
happening in Android.

Watch and learn about the Android Performance Patterns from the series of video
directly from the Android Developers Channel.

After all. If you want an awesome job, prepare for the job interview from here.

MindorksOpenSource/android-interview-questions
android-interview-questions — Your Cheat Sheet For Android
Interview — Android Interview Questions
github com
https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 19/20
1/10/2021 Learning Android Development In 2020 - A Practical Guide | MindOrks
github.com

MindOrks has also started a video series on How to prepare for Android Interview?

Check here.

Check All Free Android Tutorials By MindOrks.

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

Last Step:
Bookmark this article to refer again, learn Android App Development, and
become a better Android Developer.

Happy Learning :)
Want to know more about me? Visit amitshekhar.me.

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

Android Android App Development AndroidDev Android Development Android Apps

About Help Legal

Get the Medium app

https://medium.com/mindorks/learning-android-development-in-2019-a-practical-guide-ddc71e008696 20/20

You might also like