Image for post
Image for post

At Reach we wanted to improve our release process by automating the process of taking screenshots and uploading them to the Play Store.

Adding screenshots is an important step to showcase an app’s features and functionality. It can attract new users and highlight certain use cases of the app. It’s one of the most important elements of ASO (app store optimisation), which if done correctly, can help improve the app’s ranking on the Play Store.

However there can be a few challenges in creating and maintaining your screenshots for production apps over time. When you implement new features or even small changes in your design, it’s nice to keep your screenshots up to date. …

Our team is in the process of upgrading the infrastructure of the apps backend and we’re going to replace our existing Postgres database instance with another one. Below is a rough diagram of what will happen:

Image for post
Image for post
Timeline of events being stored during the migration.

There is an existing database being populated as soon as async events arrive. Once the new infrastructure is in place, these events will be written to both the existing and the new database.

We don’t want to lose any data during the migration and therefore the content of both databases must be the same. This is not trivial because write operations happen frequently and at any point in time. And even though we have a procedure in place to prevent data loss, we wanted to perform some sanity checks to ensure the new database has exactly the same data as before. …

This blog post describes my experiences migrating a unit test from Robolectric ‘old’ API to the new AndroidX FragmentScenario API. I wanted to do that as part of experimenting this new API, which brings some advantages over the old method (see

My previous approach usually involved setting up the parent activity and then simulating all the steps until the Fragment under test was visible in that activity — which was not trivial, because it involved setting up the test dependencies for both the Fragment and parent activity.

As an example:

Methods performQuery, progressBar and shouldBeVisible, use the standard View methods to assert stuff — mostly View#findViewById and…


Ricardo Belchior

android developer by the sea,

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