There’s no dull year in the world of Android and 2019 was no different. Many APIs got deprecated, many new APIs hit stable release.

So, in this article, I’ll try to incorporate all the major events in the world of Android in 2019. Let me know if you want something to be added in the comments.

10. Android Studio is a lot Cooler!

With updates such as Preview for Compose, Visual Editor for Motion Layout, Apply Changes android has surpassed the definition of IDE.

It has made complex processes such as connecting to Firebase, adding ML Kit etc…just a single click process! This year the Android Studio…


Health care is turning more and more eyes these days and rightly so. Most jobs these days require a person to be confined to his desk the entire day for 8–9 hours if not more. But, sitting at a desk all day and being healthy don’t always go hand in hand.

Studies show that sitting at your desk for long hours can have serious repercussions on your health and well-being. It increases your risk of obesity and many other conditions such as increased blood pressure, high blood sugar, increased belly fat and many more.

The situation gets worse for software…


This article was originally posted here: https://ayusch.com/flutter-firebase-authentication-tutorial/

In this post on Flutter firebase authentication, we’ll take a look as to how we can authenticate users to our firebase app using firebase’s flutter plugin.

If you’re not familiar with flutter, I’d recommend reading this before going ahead. It’ll give you a basic idea about flutter and help you along with this tutorial.

https://ayusch.com/getting-started-with-flutter-app-development/

We’ll be creating a basic application with a login screen and a home page. It’ll have the ability to let the user Login and Logout of the application. …


wsource: https://ayusch.com

In the previous article on Android Internals, we learnt how Android OS Starts an application. We mentioned many things such as Bootloader, Kernel, init process, Zygote, DVM and System server.

In this post, we’ll take a look at the runtime environment in Android and how it has changed over the years. More specifically, we’ll be having a comparing ART vs DVM in Android on multiple factors such as installation time, runtime performance and other optimizations such as app size.

But to understand this, let’s first start with some basics such as what is a Virtual Machine? Stack based vs Register Based architecture of VM and comparing JVM vs DVM.

What is a Virtual Machine?

Virtual Machine is an abstraction over the native machine backed by the resources of the native machine. It’s job is to…


Source: https://ayusch.com

This article was originally posted here: https://ayusch.com/android-internals-the-android-os-boot-process/

This post is targeted for Software Engineers wanting to dive deep into Android’s Internals and its workings. We’ll take a look at what happens when your Android Phone boots up but specifically what is Zygote in Android and its role in firing up an application.

We’ll see how an Activity is fired up in Android using ActivityManager and who’s responsible for initializing that Activity Manager. What happens in the init.rc file which starts various daemons in Android. And more such interesting questions.

A knowledge of Android Internals is necessary if you want to…


This article was originally posted here.

In this post on Augmented Reality App Development using ARCore, we’ll take a look at how to use Cloud Anchors. This is the 4th post in our Augmented Reality App development articles. If you’re new to ARCore, I’d suggest taking a look at some of the articles given below.

The first article would give you a gist of what is ARCore and how it helps in developing Augmented Reality Applications.

  1. What is ARCore?
  2. Building ARCore app with Android Studio
  3. Building Augmented Images Application

Now that you’ve read the articles above, you’ll have an overview…


This article was originally posted here: https://ayusch.com/machine-learning-for-face-detection-in-android/

Back in the days, using machine learning capabilities was only possible over the cloud as it required a lot of compute power, high-end hardware etc… But mobile devices nowadays have become much more powerful and our Algorithms more efficient. All this has led to on-device machine learning a possibility and not just a science fiction theory.

On device machine learning is being used everywhere nowadays, such as:

  • Smart Assistants: Such as Cortana, Siri, Google Assistant. …

Logging is one of the most used utilities in the Android framework. It is really helpful in debugging your code when debugging by break-point just won't work.

It is generally a good practice to place Log statements in your code. These statements help you keep a track of flow control in your application. Similarly, it is not recommended to have log statements in your release ready code, since those log statements can be read by anyone who connects their phone to a PC. …


In this 2nd part of the Work Manager series, we’ll be taking a look at how to implement work manager in android.

In the previous post, I talked about what Work Manager is and why you should start considering Work Manager for scheduling tasks in your Android applications. Be sure to check that out.

Implementing Work Manager in Android is really easy and I’ve divided the entire process into the following steps:

  • Setting up the project
  • Creating a OneTime/Periodic Request
  • Creating a Worker

We’ll be creating a simple app for downloading 3 images and displaying them in 3 corresponding ImageViews.


Image Source: https://ayusch.com

Consider some use cases which we encounter in our daily Android development tasks:

  1. Downloading data files from a remote server for a mobile game.
  2. Downloading files from a server.
  3. Synchronizing data collected on mobile with a back-end service, for example: uploading crash analytics, log files, etc…
  4. Backing up device files to online storage.

What’s common between these use cases?

  • They all are long running tasks.
  • They can be deferred to run on a background thread, while the user interacts with the app. These tasks should not affect the app’s performance.
  • They can also be run even when the user is…

Ayusch Jain

A sensible writer (https://ayusch.com)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store