Building Wave Progress Bar with Jetpack Compose

TLDR I created a customizable wave progress bar using Jetpack Compose, as shown below. You can view the code on Github. The component can be wrapped within any Jetpack View (here, it’s wrapped in a circular card). You can easily adjust various properties of the progress bar, including frequency, amplitude, direction, and speed, to fit your design needs. Implementation Sine Wave The closest way to render a wave-like animation is by using a sine wave, which can be drawn with the Android path and sin APIs....

November 12, 2024 · 3 min · Amit Bhandari

My First Encounter with Jetpack Compose

It’s been 3 years since Jetpack Compose first production release came out and I finally got a chance to learn and understand how it works. I tried designing iOS style stopwatch timer to learn and understand how compose works and whether it should be a default choice for all the new UIs being written in Android. TLDR Implemented Stopwatch timer clock UI in compose. Project can be found here on Github....

August 25, 2024 · 7 min · Amit Bhandari

Android Continuous Integration and Delivery — Next level Android development

Android Continuous Integration and Delivery, Everyone is talking about it these days. So what exactly it is and why do you need it? Well these 2 articles can explain better than me. Originally written on medium here

July 9, 2018 · Amit Bhandari

Extend Image View to allow URL binding in xml directly

If you are using data binding to bind java pojo to view in Android, you must have came across the issue that you can’t really bind image url in xml directly. Android Image View does not support it by default. But you can easily extend Android Image View to create your own custom view which can support it. Originally written on medium here

April 10, 2018 · Amit Bhandari

Migrating existing SQLite implementation to Room

Room is a persistence library introduce by Google in this year I/0. Room makes it extremely easy to work with SQLite in your android application and worth giving a shot if you are using SQLiteOpenHelper as of now for handling data in your app. Migrating your current implementation to Room is, surprisingly, very easy. Originally written on medium here

July 14, 2017 · Amit Bhandari

Storing Java objects other than primitive types in Room Database

If you have been following Architectural components introduced in I/0 2017, you must already be familiar with the Room Persistence Library which provides you abstraction layer over SQLite to provide smooth database access and using SQLite with full potential. Originally written on medium here

July 13, 2017 · Amit Bhandari