Advanced RecyclerView Insertion and Deletion — How to Maintain PositionWhat if you need to display the correct items’ positions at all times as items are constantly added and removed from the list? I’ll show…Feb 22, 2023Feb 22, 2023
RecyclerView — How to handle insertion and deletionSince its introduction, RecyclerView has been a great tool for Android developers. While displaying a read-only data set is quite…Feb 19, 2023Feb 19, 2023
Published inProAndroidDevRoom Database — Lessons learnt from working with multiple tablesIn this article, I’m going to examine three methods of querying multiple tables at once, namely multi-table query, multi-map and…Jan 19, 2023Jan 19, 2023
Dagger 2’s naming convention is suboptimal, let’s fix itIt’s often said there are 2 big problems in computer science and one of them is naming conventionJan 1, 2022Jan 1, 2022
The Easiest Way to Reuse ViewModel Factory using DaggerWhile Multibinding is an alternative, it’s unnecessarily complexJan 1, 2022Jan 1, 2022
Published inCoffee Meets Bagel EngineeringOpinionated Short List of Android ViewModel Do’s and Don’tsAmong the dozens of Android we’ve reviewed, the following misconceptions and sub-optimal practices tend to repeat a lot. I’m hoping the…May 31, 20215May 31, 20215
Leverage Room’s auto-refresh with cautionsThe “auto-refresh” convenience Room’s RxJava (Flowable) integration gives you does come with a couple of caveatsMay 31, 2021May 31, 2021
Published inProAndroidDevGreatest Android modularization mistake and how to undo itOne upon a time, there was a monolith named :app module. Then came the smaller monoliths named database, networking and modelsDec 29, 20204Dec 29, 20204
Best budgeting and personal finance app of 2020It’s Emma, a tiny David among many Goliaths in the field :)Aug 4, 2020Aug 4, 2020
Published inThe StartupNon-Programmer Welcome- Sum, Average and Other Data Set Fun With KotlinGiven a list of Employees, find the average and sum of salary for each department.Jul 8, 2020Jul 8, 2020
Published inThe StartupKotlin Mutable Map Write PerformanceRecently, when doing a small coding challenge in Kotlin I was faced with the choice of mutableMapOf() or HashMap()Jun 27, 20202Jun 27, 20202
Tangerine vs. Simplii vs. EQ bank for newcomers in CanadaThere’s no one-size-fit-all solution here but Tangerine is a good startJun 1, 2020Jun 1, 2020
Published inProAndroidDevLearn Dagger by VisualizationConcepts should be the same for other frameworks such as KoinMay 26, 20203May 26, 20203
Published inProAndroidDevSupercharged Android MVVM — Input StreamWe’ve covered the output streams (ViewState and ActionState) in part 1May 16, 2020May 16, 2020
How to become a Super Saiyan? Compassionate angerWhy not in thousands of years, none of Saiyan population went super when suddenly Goku did?May 15, 2020May 15, 2020
Published inProAndroidDevSupercharge Android MVVM part 1 — ViewState and ActionStateHow to write easy to read and debug ViewModelMay 5, 20204May 5, 20204