Android

Android Push Notification Flow using FCM

Android Push Notification Flow using FCM

In this blog, we will learn about the Android Push Notification Flow using FCM.

Android System Design Interviews

Android System Design Interviews

Today, we are going to discuss everything about the Android System Design Interviews.

CoroutineContext in Kotlin

CoroutineContext in Kotlin

In this blog, we will learn about the CoroutineContext in Kotlin by going through the source code. We will also cover how to customize it.

Parcelable vs Serializable

Parcelable vs Serializable

In this blog, we will learn about the difference between Parcelable and Serializable. We will also learn how they work internally.

String vs StringBuffer vs StringBuilder

String vs StringBuffer vs StringBuilder

In this blog, we will learn about String, StringBuffer, and StringBuilder.

data class in Kotlin

data class in Kotlin

In this blog, we will learn about the data class in Kotlin. We will also learn how it works internally.

Extension function in Kotlin

Extension function in Kotlin

In this blog, we will learn about the extension function in Kotlin. We will also learn how it works internally.

remember vs rememberSaveable

remember vs rememberSaveable

In this blog, we will learn about the difference between remember and rememberSaveable in Jetpack Compose.

React Native vs Flutter

React Native vs Flutter

In this blog, we will learn about the difference between React Native and Flutter.

Launch vs Async in Kotlin Coroutines

Launch vs Async in Kotlin Coroutines

In this blog, we will learn about the Launch vs Async in Kotlin Coroutines.

callbackFlow - Callback to Flow API in Kotlin

callbackFlow - Callback to Flow API in Kotlin

In this blog, we will learn how to convert any Callback to Flow API in Kotlin using callbackFlow.

Dalvik, ART, JIT, and AOT in Android

Dalvik, ART, JIT, and AOT in Android

In this blog, we will learn about the terms Dalvik, ART, JIT, and AOT in Android.

Difference between == and === in Kotlin

Difference between == and === in Kotlin

In this blog, we will learn about the difference between == and === in Kotlin.

StateFlow and SharedFlow

StateFlow and SharedFlow

In this blog, we will learn about the StateFlow and SharedFlow in Kotlin.

Cold Flow vs Hot Flow

Cold Flow vs Hot Flow

In this blog, we will learn about Cold Flow vs Hot Flow in Kotlin.

Unit Testing ViewModel with Kotlin Flow and StateFlow

Unit Testing ViewModel with Kotlin Flow and StateFlow

In this blog, we will learn how to write the unit test for ViewModel with Kotlin Flow and StateFlow.

How does the Kotlin Multiplatform work?

How does the Kotlin Multiplatform work?

In this blog, we will learn how the Kotlin Multiplatform works.

RxJava Subject - Publish, Replay, Behavior, and Async

RxJava Subject - Publish, Replay, Behavior, and Async

In this blog, we will learn about the RxJava Subject - Publish, Replay, Behavior, and Async.

OkHttp Interceptor

OkHttp Interceptor

In this blog, we will learn how to work with the OkHttp Interceptors.

Mastering Kotlin Coroutines

Mastering Kotlin Coroutines

In this blog, we are going to master the Kotlin Coroutines in Android.

Callback to Coroutines in Kotlin

Callback to Coroutines in Kotlin

In this blog, we will learn how to convert any Callback to Coroutines in Kotlin.

Retry Operator in Kotlin Flow

Retry Operator in Kotlin Flow

In this blog, we will learn about the Retry Operator in Kotlin Flow.

Pagination In RecyclerView Using RxJava Operators

Pagination In RecyclerView Using RxJava Operators

In this blog, we will learn how to implement pagination in RecyclerView using RxJava operators.

RxJava Operator Map vs FlatMap

RxJava Operator Map vs FlatMap

In this blog, we will learn about the Map vs FlatMap Operator in RxJava.

RxJava Merge Operator

RxJava Merge Operator

In this blog, we will learn about the Merge operator of RxJava.

Long-running tasks in parallel with Kotlin Flow

Long-running tasks in parallel with Kotlin Flow

In this blog, we will learn about how to run long tasks in parallel with Kotlin Flow in Android.

Retrofit with Kotlin Coroutines

Retrofit with Kotlin Coroutines

In this blog, we will learn how to use Retrofit with Kotlin Coroutines.

coroutineScope vs supervisorScope

coroutineScope vs supervisorScope

In this blog, we will learn about the coroutineScope vs supervisorScope of Kotlin Coroutines.

Retrofit with Kotlin Flow

Retrofit with Kotlin Flow

In this blog, we will learn how to use Retrofit with Kotlin Flow.

Room Database with Kotlin Flow

Room Database with Kotlin Flow

In this blog, we will learn how to use Room Database with Kotlin Flow.

RxJava Concat Operator

RxJava Concat Operator

In this blog, we will learn about the Concat operator of RxJava.

dispose vs clear CompositeDisposable RxJava

dispose vs clear CompositeDisposable RxJava

In this blog, we will learn about the dispose method and the clear method of CompositeDisposable that is present in the RxJava.

RxJava Interval Operator

RxJava Interval Operator

In this blog, we will learn about the Interval Operator of RxJava.

crossinline in Kotlin

crossinline in Kotlin

In this blog, we will learn about the crossinline modifier in Kotlin.

inline function in Kotlin

inline function in Kotlin

In this blog, we will learn about the inline function in Kotlin.

noinline in Kotlin

noinline in Kotlin

In this blog, we will learn about the noinline modifier in Kotlin.

Use setRecycledViewPool for Optimizing Nested RecyclerView

Use setRecycledViewPool for Optimizing Nested RecyclerView

In this blog, we will learn about how can we optimize the scrolling performance of the Nested RecyclerView using the setRecycledViewPool.

singleTask launchMode in Android

singleTask launchMode in Android

In this blog, we will learn about the singleTask launchMode in Android.

init block in Kotlin

init block in Kotlin

In this blog, we will learn about the init block in Kotlin.

Companion object in Kotlin

Companion object in Kotlin

In this blog, we will learn about the companion object in Kotlin.

lateinit vs lazy in Kotlin

lateinit vs lazy in Kotlin

In this blog, we will learn about the lateinit vs lazy properties in Kotlin.

Infix notation in Kotlin

Infix notation in Kotlin

In this blog, we will learn about the Infix notation in Kotlin. The Infix notation enables us to write code that looks much more like a natural language.

Open keyword in Kotlin

Open keyword in Kotlin

In this blog, we will learn about the open keyword in Kotlin.

Dispatchers in Kotlin Coroutines

Dispatchers in Kotlin Coroutines

In this blog, we are going to learn about the Dispatchers in Kotlin Coroutines including the types of Dispatchers available for use in Coroutines.

Mastering Flow API in Kotlin

Mastering Flow API in Kotlin

In this blog, we are going to learn what is Flow API in Kotlin. Kotlin provides many features out of the box that we can use to perform various tasks in our project.

How does the Android Image Loading library optimize memory usage?

How does the Android Image Loading library optimize memory usage?

In this blog, we are going to learn how the Android Image Loading library optimizes memory usage.

How does the Android Image Loading library use the bitmap pool for responsive UI?

How does the Android Image Loading library use the bitmap pool for responsive UI?

In this blog, we are going to learn how the Android Image Loading library uses the bitmap pool to make the UI responsive.

JvmField Annotation in Kotlin

JvmField Annotation in Kotlin

In this blog, we are going to learn about the JvmField annotation in Kotlin.

JvmOverloads Annotation in Kotlin

JvmOverloads Annotation in Kotlin

In this blog, we are going to learn about the JvmOverloads annotation in Kotlin.

JvmStatic Annotation in Kotlin

JvmStatic Annotation in Kotlin

In this blog, we are going to learn about the JvmStatic annotation in Kotlin.

Advantage of using const in Kotlin

Advantage of using const in Kotlin

In this blog, we are going to learn about the advantage of using const in Kotlin.

How does the Android Image Loading library solve the slow loading issue?

How does the Android Image Loading library solve the slow loading issue?

In this blog, we are going to learn how the Android Image Loading library solves the slow loading issue of images.

partition - filtering function in Kotlin

partition - filtering function in Kotlin

In this blog, we will learn about the Kotlin filtering function - partition. It filters a collection by a predicate and keeps the elements that don't match it in a separate list.

Why does an Android App lag?

Why does an Android App lag?

In this blog, we will learn why an Android App lags. I believe that every Android Developer should know the reason for the low performance of the Android app.

AssociateBy - List to Map in Kotlin

AssociateBy - List to Map in Kotlin

In this blog, we will learn about the Kotlin Collection Functions - associateBy that converts a list into a map.

Remove duplicates from an array in Kotlin

Remove duplicates from an array in Kotlin

In this blog, we are going to learn how to remove duplicates from an array in Kotlin. As there are many ways to remove duplicates from an array in Kotlin, depending on the use case, we can decide which one to use.

Caching with OkHttp Interceptor and Retrofit

Caching with OkHttp Interceptor and Retrofit

In this blog, we are going to learn how to cache HTTP responses in Android using OkHttp Interceptor and Retrofit for building offline-first Android apps.

Why is it recommended to use only the default constructor to create a Fragment?

Why is it recommended to use only the default constructor to create a Fragment?

In this blog, we are going to learn why is it recommended to use only the default constructor to create a Fragment.

Jetpack DataStore Preferences

Jetpack DataStore Preferences

In this blog, we are going to see why we need Jetpack DataStore Preferences, learn how to implement Jetpack DataStore Preferences in our Android application and how can we migrate our SharedPreferences to DataStore Preferences.

Google Android Developer Interview

Google Android Developer Interview

In this blog, we will discuss about the Google Android Developer Interview.

RecyclerView Optimization - Scrolling Performance Improvement

RecyclerView Optimization - Scrolling Performance Improvement

In this blog, we will learn how to optimize the RecyclerView performance in Android.

Kotlin Flow Zip Operator for Parallel Multiple Network Calls

Kotlin Flow Zip Operator for Parallel Multiple Network Calls

In this blog, we will learn about the Kotlin Flow Zip Operator and how to make multiple network calls in parallel using it.

App Startup Library

App Startup Library

In this blog, we are going to discuss why there is a need for the App Startup Library. Most importantly, we will learn what are the problems it solves and how it helps us in improving the App Startup time.

Instant Search Using Kotlin Flow Operators

Instant Search Using Kotlin Flow Operators

In this blog, we will learn how to implement the instant search feature using Kotlin Flow operators in Android applications.

Creating Flow Using Flow Builder in Kotlin

Creating Flow Using Flow Builder in Kotlin

In this blog, we are going to discuss the different types of flow builders and how to create Flow using Flow Builder.

Exception Handling in Kotlin Flow

Exception Handling in Kotlin Flow

In this blog, we will learn about the Exception Handling in Kotlin Flow.

Terminal Operators in Kotlin Flow

Terminal Operators in Kotlin Flow

In this blog, we will learn about the Terminal Operators in Kotlin Flow.

suspend function in Kotlin Coroutines

suspend function in Kotlin Coroutines

In this blog, we will learn about the suspend function in Kotlin Coroutines.

Kotlin withContext vs Async-await

Kotlin withContext vs Async-await

In this blog, we will learn about the withContext and Async-await in Kotlin.

Room Database with Kotlin Coroutines

Room Database with Kotlin Coroutines

In this blog, we will learn how to use Room Database with Kotlin Coroutines.

Parallel Multiple Network Calls Using Kotlin Coroutines

Parallel Multiple Network Calls Using Kotlin Coroutines

In this blog, we will learn how to make multiple network calls in parallel using Kotlin Coroutines.

Unit Testing ViewModel with Kotlin Coroutines and LiveData

Unit Testing ViewModel with Kotlin Coroutines and LiveData

In this blog, we will learn how to write the unit test for ViewModel with Kotlin Coroutines and LiveData.

MVVM Architecture - Android Tutorial

MVVM Architecture - Android Tutorial

In this blog, we will learn about the MVVM architecture in Android.

Android Developer should know these Data Structures for Next Interview

Android Developer should know these Data Structures for Next Interview

In this blog, we are going to cover all the data structures which are a must for any Android developer when it comes to cracking the interview and knowledge.

Android TensorFlow Lite Machine Learning Example

Android TensorFlow Lite Machine Learning Example

In this blog, we will see Android TensorFlow Lite Machine Learning example.

RxJava Create and fromCallable Operator

RxJava Create and fromCallable Operator

In this blog, we will learn about the RxJava Create and fromCallable Operator.

RxJava Defer Operator

RxJava Defer Operator

In this blog, we will learn about the Defer operator of RxJava.

Higher-Order Functions and Lambdas in Kotlin

Higher-Order Functions and Lambdas in Kotlin

This article is for anyone who is curious about the higher-order functions and lambdas in Kotlin but has no idea what they are exactly.

RxJava Zip Operator

RxJava Zip Operator

In this blog, we will learn the RxJava Zip Operator with an example.

Types Of Observables In RxJava

Types Of Observables In RxJava

In this blog, we will learn about the different types Of Observables in RxJava.

Instant Search Using RxJava Operators

Instant Search Using RxJava Operators

In this blog, we will learn how to implement the instant search feature using RxJava operators in Android applications.

RxJava Tutorial

RxJava Tutorial

This blog is about the complete resources to learn RxJava in one place. These RxJava tutorials will help you in learning RxJava properly.

Context In Android Application

Context In Android Application

In this blog, we will learn about the context in Android application.

Android App Performance Metrics

Android App Performance Metrics

In this blog, we will learn about the metrics that we should measure continuously while android application development.

StrictMode in Android Development

StrictMode in Android Development

In this blog, we will learn about the StrictMode in Android Development.

SnapHelper

SnapHelper

In this blog, we will learn how to use SnapHelper in RecyclerView in Android Application.

Optimization Using ArrayMap and SparseArray

Optimization Using ArrayMap and SparseArray

In this blog, we will learn why and when to use ArrayMap and SparseArray to optimize our Android Applications.

Android Development Best Practices

Android Development Best Practices

In this blog, we will explore some of the best practices in designing and developing Android apps.

Creating Custom Annotations

Creating Custom Annotations

In this blog, we will learn how to create custom annotations in Java.

Android NDK and RenderScript

Android NDK and RenderScript

In this blog, we will be comparing Android NDK and RenderScript. Both NDK and RenderScript share the common goal of improving the performance of applications. Each has its own advantages and drawbacks.

ThreadPoolExecutor in Android

ThreadPoolExecutor in Android

In this blog, we will learn about the thread pools, thread pool executors, and their use within Android.

Bitmap Pool in Android

Bitmap Pool in Android

In this blog, we will learn about the bitmap pool in Android.