Fabio ColliniinProAndroidDevViewModels using Compose: MutableStateFlows or MutableStates?State hoisting is an important concept useful to make a Composable stateless (and so easily reusable). The official Compose documentation…7 min read·Sep 30, 2021--3--3
Fabio ColliniinProAndroidDevDagger dependencies beyond the basicsDagger is one of the most polarizing subjects in the Android community, either you love it, or you hate it. Some developers love it and…7 min read·Apr 8, 2020--2--2
Fabio ColliniinProAndroidDevFrom Dagger components to manual dependency injectionDagger is a great framework that has changed the way we have written Android apps in the latest years. Using Dagger we don’t need to write…8 min read·Oct 2, 2019--6--6
Fabio ColliniinGoogle Developer ExpertsImplementing Dependency Inversion using Dagger componentsThe SOLID principles were introduced for the first time by Robert C. Martin in the early 2000s. This paper explains the five principles…7 min read·Jun 12, 2019--2--2
Fabio ColliniinProAndroidDevManaging exceptions in nested coroutine scopesCoroutine scopes are the latest concept introduced to the Kotlin coroutines library before the 1.0 release. Scopes are really useful to…5 min read·Apr 1, 2019--2--2
Fabio ColliniinProAndroidDevSimpler Kotlin class hierarchies using class delegationBig class hierarchies are out of fashion, an item of the book Effective Java written by Joshua Bloch suggests to favor composition over…6 min read·Feb 27, 2019--7--7
Fabio ColliniinProAndroidDevUnidirectional Data Flow using CoroutinesOver the years the typical architecture of an Android application has changed a lot, from the first apps where all the logic was in the…10 min read·Oct 1, 2018--10--10
Fabio ColliniinProAndroidDevAsync code using Kotlin CoroutinesKotlin coroutines allow to write asynchronous code in a familiar way, the structure of the code doesn’t change if you compare it with…8 min read·May 23, 2018--6--6
Fabio ColliniinProAndroidDevCustom attributes using BindingAdapters in KotlinUsing the Android data binding framework it’s easy to define a custom attribute that can be used in a layout files. It’s just a static…4 min read·Jan 29, 2018--8--8
Fabio ColliniinProAndroidDevKotlin delegates in Android development — Part 2Architecture components: ViewModel and LiveData5 min read·Jul 11, 2017--1--1