Category: Uncategorized

All you need for Dependency Injection is Kotlin

You may wonder what is the best Dependency Injection library for your Android project. Dagger, Hilt, Koin, or Kodein? I can’t answer that. You should choose what fits your project, experience, and expectation. But what if I would tell you that you don’t need any library? You have everything...

How to inject the coroutines Dispatchers into your testable code

Best practices for coroutines say that you should always inject the coroutines Dispatchers. It will allow you to control your Dispatchers during your tests. You can read more on the official Android Guidelines. https://developer.android.com/kotlin/coroutines/coroutines-best-practices#inject-dispatchers I will show you my approach to this problem, and how I solve it. There...

Introducing async work in a product company

Recently I’ve reviewed the Gitlab article about the async culture of work and I believe that this is a very long, but good guide on how to deal with it. I can only say that everyone should read it to understand what is async work. https://about.gitlab.com/company/culture/all-remote/asynchronous/ What is your...

Baby steps when joining the legacy project

This post was created thanks to an inspiring discussion under the Tweet below. I encourage you to read the whole. ​​0. Talk with the team, work on collective ownership of the platform. #overcommunication! 1. Start building the platform backlog 2. Identify what blocks you from being confident in changing...

Why Flutter is not your choice for building the best app in the world?

In this post, I will share with you my humble opinion about using Flutter in large, scalable and maintainable projects. There is a lot of articles that are hyping Flutter. Unfortunately, there is not many articles about the possible problems that you can have. Here you can find few...

So, you think that know how to use Snackbar and FAB? You know nothing!

Maybe you got used to using Snackbar on views with List and Floating Action Button. You wrapped everything with CooridnatorLayout and watched shiny animation where FAB was moved up when Snackbar was shown. This looked good, and you were happy. But not anymore! Some time ago Google changed how...

Android Auto Backup + Keystore Encryption = Broken Heart Love Story

You care about your user’s data and you encrypt them. Android provides you Android Keystore to make it easier – great! You also want to help your user migrate the data when he changes the phone or wipes out data. Here also you can use built-in Android Auto Backup...

Early return in Kotlin

In programming, there is an open discussion as to whether you should only have one return statement.You can use these two options (or more with variations or more arguments): I prefer the second option, to have more than one return statement. I see it as more readable, but I...

Very basic security tips for every Android app

Here you can find some quick tips that will allow you to make your app much safer without adding much work. This should be a standard for every, even the simplest one, app. Use HTTPS Nowadays this is standard and crucial to every communication over the Internet. This doesn’t...