Published inAndroid DevelopersWorkManager in multi-module appsModularization is a great tool for building an app at scale. Learn how we set up WorkManager for use in the multi module Now in Android…Mar 8, 20233Mar 8, 20233
Published inAndroid DevelopersGoing deeper, paging from network and database in the MAD skills seriesWelcome back! In the last episode, we integrated a Pager into our ViewModel and used it to populate the UI using a PagingDataAdapter. We…Nov 2, 20211Nov 2, 20211
Published inAndroid DevelopersIntroduction to Paging 3.0 in the MAD Skills SeriesWelcome to the Paging 3.0 MAD Skills series! In this article I’ll be introducing Paging 3.0 and highlighting how to integrate it into the…Oct 11, 20212Oct 11, 20212
Published inAndroid DevelopersFetching data and binding it to the UI in the MAD skills seriesSecond episode in the Paging MAD skills seriesOct 11, 2021Oct 11, 2021
Published inProAndroidDevAndroid Views as a Function of State with ViewBinding Case Study 2: RecyclerViews, A/B testing and…This post is part of a series that shows how Views in android can be represented purely as a function of some state with no side effects…Feb 16, 2021Feb 16, 2021
Published inProAndroidDevKotlin Delegation by InceptionDelegating to delegates with a functional twistDec 15, 20202Dec 15, 20202
Published inProAndroidDevAndroid Views as a Function of State with ViewBinding Case Study 1: The Live Game StreamThis post is part of a series that shows how Views in android can be represented purely as a function of some state with no side effects…Dec 8, 20203Dec 8, 20203
Published inProAndroidDevBuilding the right Android View AbstractionThis post is heavily inspired by Jesse Wilson’s post of the exact same title which I’ve shamelessly lifted. Please give it a read here.Nov 12, 20201Nov 12, 20201
Published inProAndroidDevDeclarative lists on Android With RecyclerView + ViewBindingOne liner xml to stateful RecyclerView.ViewHolder instanceMar 3, 20202Mar 3, 20202
Published inProAndroidDevEasy text styling and concatenation in AndroidWhat if styling spans in Android was fluent and joining them as simple String concatenation?Jan 14, 2020Jan 14, 2020
Published inProAndroidDevCreating an Expandable Floating Action Button in Android — Part 2Part 1 of this post is linked below:Dec 3, 2019Dec 3, 2019
Published inProAndroidDevComposition over Inheritance: Adding a Material Speed Dial to a Floating Action ButtonMaterial Design is an excellent design and visual language on Android, it is also very ambitious, which makes the actual implementation of…Nov 19, 2019Nov 19, 2019
Published inProAndroidDevSimplifying the FragmentManager API: Multiple Fragment backstacks on AndroidFragments in Android are many things to different people. View controllers, state containers, callback hooks to system events like…Oct 29, 20194Oct 29, 20194
Published inProAndroidDevDriving Motional Intelligence for Global Persistent UI on Android with a Simple State StoreAndroid Q’s debut draws nearer, and with it, the cries and echoes of multiple Android Developer Advocates stressing by way of numerous…Aug 8, 2019Aug 8, 2019
Published inProAndroidDevHome Automation With Android Things & KotlinWe’re spoiled for choice these days when it comes to choosing a Home Automation system. We could go voice controlled with Alexa or Google…Jul 9, 20191Jul 9, 20191
90 days of KotlinOld habits die hard. We’re creatures of habit, and provided there’s no stimuli that causes us to change and evolve, we’ll all very likely…Jul 8, 2019Jul 8, 2019
Published inProAndroidDevThe Model as the Form: Single Source of Truth bindings for Editable Text Fields in AndroidIn most mobile apps today, signing up for a service or creating any sort of resource requires a user to fill out a form of some kind…May 29, 20192May 29, 20192
Teammate Android: From #Startup to Open Source SoftwareIn 2017 shortly after being offered my first Senior Android Developer role, I took some time to reflect, and in doing so realized most of…May 22, 2019May 22, 2019
Open sourcing DigiLuxToday, I pushed the code for the DigiLux app to a public github repository.May 13, 2019May 13, 2019