It’s really important to understand that how android app works and what components are used to make android device work.

So in this guide, I’m going to answer the following questions

Why Android use Virtual Machine?

As we are going to know why android use virtual machine. Before that we should a clear idea on Virtual Machine (VM)

What is Virtual Machine (VM)

Virtual Machine is an abstraction over the native…

Nowadays, SMS verification is the best way that is being used by mobile applications for login purpose. There are many ways to automatically fill the OTP field by reading the message in our phone using READ_SMS permission. But, Google has strictly prohibited the usage of that permission for security purposes. You can read the full explanation here.

Since we can’t use the READ_SMS permission anymore, Google has given some other choices to implement automatic SMS verification using SMS Retriever API. …

Caching is nothing but a way to store network fetched data on a device’s storage and access later when the device is offline or we want the same data again and again. Some image loading library like Picasso or Glide provide this caching when loading and displaying images but retrofit does not use this by default for its requests.

So in this article, you’ll learn the basics of caching and the way to enable online and offline caching in your Android app with Retrofit and Okhttp libraries.

Before starting lets know why caching is important…

Advantages of Caching

The package name is a unique name to identify a specific app. It is very common we need to change the package name. Here i am going to show two ways to rename package in android app.

** Way 01 **

Step 01: In your Project pane, click on the little gear icon. Uncheck / De-select the Compact Empty Middle Packages option

Django is a Python-based free and open-source web framework. It is a powerful high-level framework. Its fast, secure, versatile and very scalable.

In this article we are going to learn how to install Python 3, virtualenv, create virtual environments, and install Django and fianally creae a fresh project in macOS.

Overview of steps:

Install Python3

‘lateinit’ Keyword

In Kotlin, when we declare a variable we have to initialize it with a value or we need to assign null. But if we don’t want to initialize the variable with null or any value. Rather we want to initialize it in future with a valid value, then we have to use lateinit. Actually it is a promise to compiler that the value will be initialized in future. But remember:

lateinit var name: String   //Allowed 
lateinit val name: String //Not Allowed
lateinit var name: String…


When we work with android, in every application we do some common things, like SharedPreference, Retrofit, Dagger 2, Push Notification etc. And it takes much time. I usually used a Base project this and manually duplicate the project for new application, It also toke enough time for me. Then I found a feature on github, which made my work super easy. What I manually did, it automatically does for me. The feature is repository template.

Github released this feature in 2019. In the post I am going to speak about this new feature and how to use it.

Benefits of using repository template

Getting tired to solve versioning problem of your support library? No more tension! Now AndroidX is ready to solve ur problem.


What is AndroidX?

Why you should migrate your app to AndroidX?

Avoid memory leaks and make a super-high-quality, memory-efficient Android app.

Most of the time, we get very little time for our project. That’s why we focus in building features, functionalities and the UI components of our apps. We forget to focus on the core issue like performance and quality of the app which is the major part of an application. In this article, we will focus on one of the most important optimization techniques in android: Memory leaks.

The concept of memory leaks is quite daunting for a lot of developers out there. Most of the developers find it is difficult, time-consuming, boring and unnecessary but fortunately, none of these…


{ 'designation' : 'Software Engineer' , 'hobby' : [ 'Music', 'Photography', 'Travelling' ] ,’email’: ‘’ }

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