At some point, every Android developer will end up using a Locale for the applications they are building. If you are dealing with dates and time zones, currencies or multiple language support, you probably faced some challenges to make everything work as intended. …


Using Handlers, without providing a Looper, has been deprecated in recent versions of Android because they can lead to bugs where operations are silently lost or crashes. …


Photo by Soundtrap on Unsplash

My company, Aircall, recently organized a hackathon to unleash our tech ideas for one and a half day. With the iOS folks, we decided to experiment voice interactions with Siri and Google Assistant in order to call a contact or show a specific data outside the application’s scope with Android…


After exploring the Jetpack Compose Canvas in a previous article, this new post will explain how you can draw and use a custom Shape for your Composables to give them a specific outline. The Jetpack Compose foundation library already provides common shapes but we’ll see how to take advantage of…


In this article, I will share my experience of using Canvas with Jetpack Compose, which is the new UI toolkit made by Google. …


A couple months, we decided to use Android App Bundle (AAB) to distribute Aircall’s Android app in Play Store. After analyzing the Aircall Android application package (APK), we found we could deliver optimized APKs to our users — an overall size reduction of 60%!

In this article, we are going…


I was recently playing with Jetpack Compose, learning the future of the UI on Android. In a sample app, I tried to build a parallax effect I implemented in previous applications. In a screen you have an image in the background that scrolls less than the content you can scroll…


Photo by Micah Williams on Unsplash

Security is a very important topic and has to be taken seriously when developing Android applications, especially if sensitive data is stored on the device such as user information or API tokens. Some third party libraries already exist to secure the app data like SecurePreferences but Google introduced its own…


Photo by Mika Baumeister on Unsplash

Unity is a game engine developed by Unity Technology, running on Windows, MacOS and Linux, for building cross-platform games and applications (Android, iOS, Windows, PlayStation…). It has been there for 15 years now, and it gave us the opportunity to build high quality graphic experiences or games on mobile. Unity…


Photo by Kushagra Kevat on Unsplash

ExoPlayer is a very powerful library, developed and maintained by Google, for playing various video and audio content on Android. It also provides a large set of extension for using custom data source or supporting new formats. …

Julien Salvi

Google Developer Expert for Android — Senior Android Engineer @ Aircall (Paris) — Startup way of life, beer lover and world traveler.

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