Subscribe to my newsletter and never miss my upcoming articles
In this post I will describe a simple event bus pattern in Android that is implemented using coroutines and flows. Thanks to Kotlin, coroutines, and flows, this is a simple approach that requires very little code. What is an Event Bus? Event bus is a...
Close to the beginning of the pandemic, I made a React app that displayed COVID-19 data per country. This is the Android version. Built in native Android with Kotlin, I developed it as an opportunity to build something with some newer Android API's ...
I recently got a Steelseries keyboard. Other than that this keyboard was one of the only RGB keyboards I could find that was supported on Mac, it had an extra draw, which was that it was programmable. Steelseries offers their GameSense SDK which has...
As of Android 10, file access permissions have changed. In a previous blog post Migrating from getExternalStoragePublicDirectory in Android 10 & 11, I moved from the legacy storage to a simpler intent-based approach that opened the native share sheet...
Android 11 introduces breaking changes to working with files on Android. One of these breaking changes includes the deprecation of the following method: Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) The Canned Rep...
Plop is a handy tool for code generation. It uses Handlebars under the hood alongside some provided Handlebars helper functions. By using a code generation tool like plop, you can avoid writing tedious boilerplate code and be productive right away. ...