Recently we got the task from our UX people to add a “flashing border animation” to our CardViews when you press them. The border should shortly become another color and then go back to its original state.

Image for post
Image for post
What we should recreate on Android

To this date, animations in Android are still kinda a black box to me. My team estimated the ticket rather high, because we all knew it’s somehow going to work with animations, but no one really had an idea how to start. …


Image for post
Image for post

Personally I’m a big fan of Clean Architecture on Android and use it in most of my projects. I use it with the Model-View-Presenter pattern in the presentation layer. As most of you probably know the view is usually just an interface and we don’t really care about what component implements that interface. I was asking myself if it’s already feasible to write a common data and domain layer to share code on Android and iOS. …


Image for post
Image for post

Recently I started to play around with Kotlin Multiplatform, which is still in an experimental state. Before I could start to do something productive I ran into several issues and wanted to inform about how to fix them, in case you also encounter them.

Setting the Android SDK path

The first issue you will automatically encounter after creating the project is:

Please fix the ‘sdk.dir’ property in the local.properties file

Just head over to Android Studio and open your local.properties and copy the sdk.dir value from there to the corresponding file in the Multiplatform project. You can now continue to build your project.

Renaming the Android source set

The project…


Image for post

Firebase gives pretty clear instructions how to listen to manual updates to Firebase Remote Config and then do something within a cloud function. You can use functions.remoteConfig.onUpdate to listen to any changes. However, it cannot be used to update your properties in Remote Config.

For this you need to use Remote Config’s REST API and basically do everything manually. Your requests will be treated as requests to Google-owned services, so you don’t have to worry about any costs.

As an Android developer I felt most comfortable with writing my functions in JavaScript. Next time I definitely would give Python or…


Image for post
Image for post
Photo by rawpixel on Unsplash

Recently Google announced they’re going to offer an in-app update API available for apps published via Google Play. However, apps that are not distributed via the Play Store won’t have access to this API. I recently implemented an in-app update function and, as I didn’t find any complete examples out there, wanted to share my experience.


Image for post
Image for post

The official getting-started guide to text recognition with MLKit is pretty straightforward. At least, when you’re processing local images:

I found it a little harder to take photos with your camera and process these, so this is what I’m going to describe.

The official developer guide to take photos looks simple at first, start an intent and get the photo in onActivityResult(), but if you just quickly fly over it like me you may miss that the returned Bitmap is just a thumbnail and completely inappropriate to be processed with the MLKit.

What you rather want is caching the…


Image for post
Image for post

Recently we at grandcentrix had to implement a different polling logic based on a mutating state: in the default state we were fine to read data from the local cache or query the backend if that cache is empty; in another state we needed to hit the backend for updated data in a regular interval.

This mutating state could be everything in your app: location, network or bluetooth settings, time etc.

While heavily using Clean Architecture and RxJava in the app, we wanted to make the state so irrelevant as possible, not interrupting any subscriptions when the state changes, optimally…

Tom Seifert

Android Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store