ALL POSTS

Unit Testing Coroutines on Android

Unit Testing Coroutines on Android

Eric DecaniniApril 6, 20209 min read

Coroutines are great. They allow us to write asynchronous code as if they were synchronous. It lets us avoid callback hell, transform our data easily, thread switching, etc. It’s a…

Dagger 2 Scopes Explained and the mighty Singleton (Scope)

Dagger 2 Scopes Explained and the mighty Singleton (Scope)

Eric DecaniniMarch 30, 20204 min read

Dagger 2 Scopes are something that a lot of people don’t understand. Many people use them without understanding why they’re used, simply because they modelled their app after a Dagger…

Transitioning to Remote Work as a Software Developer (COVID-19 Edition)

Transitioning to Remote Work as a Software Developer (COVID-19 Edition)

Eric DecaniniMarch 23, 20208 min read

The COVID-19 virus has taken the world by storm. While many other places shut down for good, as software developers, only our offices have closed down but our work continues…

Top 5 Firebase Extensions as of March 2020

Top 5 Firebase Extensions as of March 2020

Eric DecaniniMarch 16, 20205 min read

Firebase Extensions are pre-packaged solutions that allow you to do an array of things (no pun intended) that integrate with other Firebase solutions. These include resizing images uploaded to Cloud…

Getting Started with Room on Android

Getting Started with Room on Android

Eric DecaniniMarch 9, 20206 min read

Gone are the days of SQLiteOpenHelper. We live in a new era of Android Development dominated by Android Architecture Components. One of which is the Room Persistence Library: a library…

Using Coroutines with Firebase on Android

Using Coroutines with Firebase on Android

Eric DecaniniMarch 2, 20205 min read

It’s no doubt that coroutines are taking over as the go-to way to do asynchronous programming in Android over RxJava. Many of Firebase’s services use Task objects to perform asynchronous…

Top 10 Essential Android Developer Libraries February 2020

Top 10 Essential Android Developer Libraries February 2020

Eric DecaniniFebruary 24, 20209 min read

It’s that time of the year when we round up the 10 best and most used Android developer libraries of the season. The libraries listed down here have become set…

Kotlin Higher-Order Functions

Kotlin Higher-Order Functions

Eric DecaniniFebruary 17, 20202 min read

In Kotlin, almost everything is a value that can be stored, including functions, thus they are first class. When you can store something in a variable, you can pass it…

Shorten Long Type Names with Kotlin Type Aliases

Shorten Long Type Names with Kotlin Type Aliases

Eric DecaniniFebruary 11, 20202 min read

Type Aliasing is one of the many features of the Kotlin programming language. It allows you to give an alternative name to a type. typealias WordList = List<String> The official…

Android Unit Testing API Calls with MockWebServer

Android Unit Testing API Calls with MockWebServer

Eric DecaniniFebruary 3, 20205 min read

It’s no little-known fact that unit testing is a crucial part of development, not only in Android but in pretty much any software development field. The ideal app should have…

Android Chat Messenger with Firestore (MVVM Edition) with Dagger, LiveData, and Coroutines

Android Chat Messenger with Firestore (MVVM Edition) with Dagger, LiveData, and Coroutines

Eric DecaniniJanuary 27, 202018 min read

Let’s be real. MVVM and Dagger are very important concepts in Android Development. Yet, nobody really knows what’s the ‘right’ way to implement either of them. MVVM is simple enough,…

Android Single Source of Truth (SSOT) using View States with MVVM and LiveData

Android Single Source of Truth (SSOT) using View States with MVVM and LiveData

Eric DecaniniJanuary 20, 20205 min read

The Single Source of Truth (SSOT) principle is an important concept not only in Android, but in pretty much every type of object-oriented programming. The idea of it in an…

Android MVVM, Dagger 2 and Android Architecture Components

Android MVVM, Dagger 2 and Android Architecture Components

Eric DecaniniJanuary 13, 202010 min read

The war between MVP and MVVM has been long settled. With the release of Android Architecture Components, there’s no doubt that MVVM is the definite way to go now. If…

Top 9 Android Studio Plugins as of January 2020 (Kotlin Friendly)

Top 9 Android Studio Plugins as of January 2020 (Kotlin Friendly)

Eric DecaniniDecember 30, 20196 min read

Android Studio is undeniably the IDE of at least 99% of all Android Developers. It’s based off of IntelliJ IDEA which is already a powerful IDE for a variety of…

Firebase Chat with Smart Replies (Cloud Firestore & ML Kit)

Firebase Chat with Smart Replies (Cloud Firestore & ML Kit)

Eric DecaniniDecember 23, 20196 min read

With the rise of AI becoming a norm in modern apps, many AI-based features are becoming standard among competent apps. Among these is Smart Replies. Smart Replies is the ability…

Instant Chat Messenger with Cloud Firestore

Instant Chat Messenger with Cloud Firestore

Eric DecaniniDecember 16, 201910 min read

(Check out the MVVM Edition of this tutorial here) Instant messaging is a feature used in a wide variety of apps. You might just be thinking social media apps, but…

Using Firebase Cloud Storage with Flutter

Using Firebase Cloud Storage with Flutter

Eric DecaniniDecember 9, 20195 min read

Cloud storage is a powerful tool if your app needs to upload photos, videos, documents, or just about any other file. This is especially useful if your app needs features…

Flutter Listviews with Cloud Firestore

Flutter Listviews with Cloud Firestore

Eric DecaniniDecember 2, 20194 min read

Flutter is relatively new to the mobile development ecosystem but it’s already proving to be strong competition against Xamarin and React Native. To many developers, it’s already the de facto…

Google Play Store Violations and Accounts Getting Terminated

Google Play Store Violations and Accounts Getting Terminated

Eric DecaniniNovember 25, 20198 min read

The Google Play Store is an ongoing dev-disappointment factor, with an undeniable high rate of complaints throughout the recent months. If you have been around the r/androiddev subreddit, you know…

Implementing Dark Theme in your Android App (Android Q)

Implementing Dark Theme in your Android App (Android Q)

Eric DecaniniNovember 18, 20194 min read

Undoubtedly one of Android Q’s (aka Android 10 or API 29) most notorious features is Dark Theme. It gives users the option to switch their apps across the whole system…