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.
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. …
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
domain layer to share code on Android and iOS. …
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.
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.
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.
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.
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.
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…