Pitfalls of building a brilliant app

Hand holding phone

1. Things Should Be Where They’re Supposed to Be (Strings, Colors)

There is tremendous growth in the Android ecosystem around the globe with a diverse community. People from different backgrounds, people with disabilities, people who wish to have fancy features like night mode, and more use Android apps in their day-to-day life.

Developing apps for such a diverse community is not…

Multiple view types in RecyclerViews using sealed classes

Phone placed vertically

One of the best ways to display huge lists in Android is through RecyclerView. As developers, you all might have used it. We have many advanced features like view holder patterns, rich animation, Diff-Utils callback to improve performance, etc. Apps like WhatsApp and Gmail use RecyclerView to show endless conversations.

Build reactive Android apps with ease

In this article, you’re going to learn how to implement a sort and filter function on local storage records. Here we use Kotlin Flow to make things reactive and efficient.


Using Room library for local storage is pretty much standard practice in 2021 android dev. One of the cool things…

Create a handler function to customize your back press events

One of the significant differences that we can find in Android and iPhone is how they handle system back press. In iOS you can swipe from left to right, whereas Android offers different options. No matter which option users opt-in to use, developers can handle the event via onBackPressed function.


Creating Activity, Fragment and Navigation Graph Scoped ViewModels

Takeaway from this article

In this article we’re going to learn how to create viewmodel instances based on different scopes such as activity, fragment and navigation graph(nothing but a set fragments in a stack). We also learn why we need viewmodel factory and its importance in the process.


Before digging into viewmodel creation, first…

Handle keyboard events effectively in your Android apps

In this article, we are going to learn how to manage the Android keyboard in jetpack compose. We’ll be focusing more on IME actions, keyboard types, focus listeners, etc.


Jetpack Compose is one of the recent attempts by Google to make it easy for Android developers to build UI.


Understand how to use WebEngage in your Android codebases

WebEngage is all about user-engagement with relevant conversations across channels like Mobile Push, In-app Messaging, SMS, Web Overlay, Web Push, Email, WhatsApp and Facebook.

We’re going to explore a part of WebEngage capabilities in Android apps. We’ll start with the integration, then move to analytics part where can log events…

Creating popups just got a whole lot simpler

Person on laptop

In this article, we’re going to learn how to build the dropdown menu in Jetpack compose. We’ll build a generic composable that can be reused. What we’re going to build is similar to the traditional drop-down menu.


Jetpack Compose is one of the recent attempts by Google to make it…

Power up the databases of your apps

Desktop with code on desk


SQLDelight is a cross-platform database library. It’s quite opposite to the traditional approach of ow annotation processes and reflections generate the code.

What makes it unique, even more than the fact that it supports cross-platform is that it takes SQL code and converts it into Kotlin/Java/Native code which supports different…

Build customizable Android apps

Laptop on bed

In this article, we’re going to learn how to show multiple bottom sheets based on user interactions. To learn the basics of bottom sheets in compose, I highly recommend you to read the article under the prerequisites section.


Jetpack Compose is one of the recent attempts by Google to make…

Siva Ganesh Kantamani

Learn. Code. Write. Repeat. Visit me at https://about.me/sivaganesh_kantamani & Join my email list at https://sgkantamani.substack.com/p/subscribe

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