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 an easy task. I’m not speaking about high-level architectures here. In contrast, it’s about simple things like strings, colors, dimens, etc. that will considerably affect modern Android development.

People usually feel comfortable using an application in their native language. The vital step is to maintain all the strings in a…


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.

One of the significant RecyclerView features that I use is view types. We can display multiple view types in the same RecyclerView. …


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.

Introduction

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

“Jetpack Compose is a modern toolkit for building native Android UI. Jetpack Compose simplifies and accelerates UI development on Android with less code, powerful tools, and intuitive Kotlin APIs.” — Android Developers

Jetpack Compose is stable version 1.0 is released recently, which means it’s production-ready. …


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 and attributes to track user behavior and finally end with notifications set-up from WebEngage.

On the other hand, WebEngage offers a handy and easy to use marketing strategies in the console. This helps companies marketing team to create intuitive camping in minutes. …


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.

Introduction

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

“Jetpack Compose is a modern toolkit for building native Android UI. Jetpack Compose simplifies and accelerates UI development on Android with less code, powerful tools, and intuitive Kotlin APIs.” — Android Developers

Jetpack Compose is stable version 1.0 is released recently, which means…


Power up the databases of your apps

Desktop with code on desk

Introduction

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 platforms like Android, iOS, web.

When it comes to traditional platform-specific libraries like Room database, they make it easy to create the database tables and operations because you’re writing code in the same language.

But when it comes to SQLDelight, you need to be able to write SQL queries by…


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.

Introduction

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

“Jetpack Compose is a modern toolkit for building native Android UI. Jetpack Compose simplifies and accelerates UI development on Android with less code, powerful tools, and intuitive Kotlin APIs.” — Android Developers

Jetpack Compose is stable version 1.0 is released recently, which…


Modern mobile apps need innovative solutions to make users stay in the applications as long as possible, I think the shimmer loading effect is one such kind. It was introduced by Facebook, the very first application in the face of the earth that wants users to stay in their application as long as possible.

Facebook UX tactics like shimmer layout, chat heads, tempting limited email content about your friends, and more are well known to lure the users into the application. Don’t take this in the wrong way, I admire their vision and tech skills.

Back to the point of…


A look at getDrawingCache and PixelCopy API implementations

Smartphone

In this article, we’re going to learn about a widely used approach to take screenshot and address its real-time problems. Then explore a simple solution to take a view-based screenshot using canvas.

Introduction

When it comes to mobile apps, one of the common usages of screenshots is to provide better customer support. We usually need screenshots more often to better understand the context of the problems that users are experiencing.

Apart from better service, screenshots are also used for numerous things, like when it comes to ed-tech apps to share your problem on the screen or to send a list of…


Integration > Camera Preview > Image Capture

Multicolored camera

CameraX is a Jetpack support library to make it easy for Android developers to implement camera features. With the CameraX library, we no longer need to bother about fixing issues for different Android versions, and we don't have to worry about manual lifecycle management.

If you've been an Android developer for a while, you would know how important this is. Handling camera issues across Android versions is certainly a nightmare even for seasoned developers.

CameraX comes with the concept of use-cases to provide developers a way to focus on what they actually want instead of managing the whole camera setup…

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