Jetpack Compose

Jetpack Compose was first announced by Google at I/O 2019. For those that don’t know, Compose is a declarative UI framework. It will replace the traditional View-based system that has been part of Android since the beginning. In this post, I’ll explain why there hasn’t been any Compose content on Styling Android up to now.…

DataStore: 1.0.0-alpha08

Back in September 2020, I published a series of articles about the shiny new DataStore Jetpack library. DataStore impressed me at the time. However, there have been some changes since the 1.0.0-alpha01 release that we looked at back then. At the time of writing the latest version is 1.0.0-alpha08 and there have been some breaking…

SlidingPaneLayout

There is no hiding from the fact that foldable devices are here. They pose some new challenges when it comes to app development. One of these is the fact that a foldable device’s form factor changes depending on the folded status. Android supports different form factors by design, so this is quite easy to deal…

Activity Result Contract – The Basics

As regular readers of Styling Android will know, I generally publish sample code projects along with each series of articles. Whenever the code requires runtime permissions my heart sinks because I know that I must add a chunk of boilerplate. This not only means extra work for me, but it can also make the sample…

KTX: Miscellaneous

KTX is a series of Kotlin extension functions for Android that first appeared in February 2018. They can simplify many repetitive tasks or those which require boilerplate code. However, they are not always easy to discover. I find it useful to periodically scan through the list here. I find this a good way of discovering…

KTX: Graphics

KTX is a series of Kotlin extension functions for Android that first appeared in February 2018. They can simplify many repetitive tasks or those which require boilerplate code. However, they are not always easy to discover. I find it useful to periodically scan through the list here. I find this a good way of discovering…

AsyncLayoutInflater

You never get a second chance to make a good first impression. This old adage is particularly true for apps. A bad first impression can often drive users to abandon an app before they have properly tried it. Slow app startup can certainly contribute to a poor first experience. But the Jetpack Startup library can…

DataStore: Models

In Early September 2020 Google released the first Alpha of a new Jetpack library named DataStore. DataStore is a replacement for SharedPreferences. While there are some similarities to SharedPreferences, DataStore offers far greater flexibility. In this series of posts we’ll take a detailed look at this new library.

DataStore: Security

In Early September 2020 Google released the first Alpha of a new Jetpack library named DataStore. DataStore is a replacement for SharedPreferences. While there are some similarities to SharedPreferences, DataStore offers far greater flexibility. In this series of posts we’ll take a detailed look at this new library.