Recently, I wrote about the CameraX API and discussed how to use it and what were its advantages for building camera-bound applications when compared with Camera2 or, the now deprecated, Camera API in Android.

In fact, if you read my previous article, you’ll know that the main drawback of Camera2 is its complexity. But, if you get past it, you’ll gain access to the most powerful and complete API for all things camera in Android. So, in this post, let’s demystify the Camera2 API and understand its capabilities and advantages.


Camera2 is the latest Android camera framework API that replaces…

In this blog post, we’ll discuss the principles and architecture behind the CameraX Jetpack support library and how to use it. We’ll also mention the general state of Android’s camera APIs and why CameraX is so important.

Evolution of the camera APIs

When Android was launched the Camera API was included with it and allowed developers to access the camera hardware, taking pictures, recordings, and more. However, with the introduction of multi-camera support, the increase in popularity of image analysis apps, and specialized modes like HDR and night modes, the original Camera API was starting to fall short.

Therefore, with Android L (API 21) Google…

Blood pressure is, in short, the force exerted by the blood when it pushes against your blood vessel walls because of your heart beating.

However, if you’ve ever seen a blood pressure reading it looks like 110/70 mmHg with the two numbers changing wildly from person to person. So, what are they?

The first number (110 in this example) is known as systolic, and it represents the force exerted by your blood against your blood vessel walls precisely at the moment when your heart is at its maximum contraction capability, right before it starts relaxing to continue its cycle. …

If you are reading this, you probably know already that all Android apps need to be signed in order to be installed in a physical device. However, what you may not know is how this new service by Google can help you and what are the advantages it offers with respect to just signing them yourself.

However, before we discuss the service itself we must make sure that we are on the same page regarding what signing an app actually does.

Signing an app: keys, certificates, and keystores


Or public key certificates (with .dem or .pem extension) contain the public key of the public/private key pair necessary…

BottomNavigationViews have become popular since Material Design while designing an app navigation experience because of their simplicity and readiness for the final user.

However, there are sometimes when they result problematic, for instance, when one of the sections require a label that’s just too long to show in one line and the bar will automatically truncate it, like the following,

The bottom bar center title is truncated because of the long text.

This is because the textView for it has been declared as singleLine. So, in order to change that you’ll need access to it. However, before we do that, you should know that internally the BottomNavigationView stores two textView for the…

App not installed error

So, you have been developing your app for several months now, in an infinite loop of debugging and coding, debugging and coding… when finally, it is time to test a release version of your app. So, you sign and create your release apk (the same as you would when uploading it to the Play Store).

However, when you try to install it, Android says that the app was not installed. Why? It was working fine before when I pressed the debug button in Android Studio. Why, all of a sudden, it’s not working?

Well, the reason is fairly simple. Your…

Osvaldo Saez

Android developer — Writing about all things code — Machine learning and more.

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