android

Archi & Techno

The Google Assistant for Android developers – PART 1

Everybody knows about the Google Assistant, available on most Android and iPhone devices. As for “Hey Siri”, the well known “Ok Google” has entered common language. We probably all have already used it at least once if only to try it. However, the scope of its field of action and implementation seems to be mysterious for us developers. At least, it was for me until recently. Is it only a mobile feature? Can we use it in our application? What are the possibilities of interactions?…

Lire la suite
Archi & Techno

Android Material Components: Exploring MaterialShapeDrawable

Material Components is the (not so) new library made by the Material team to replace the old support design library. It provides components to apply Material Design in your application with ease. Among these components, you can find the famous FloatingActionButton, the CardView or the BottomSheet. But there are also some less known, nonetheless powerful, components. And one of them is the MaterialShapeDrawable.

Lire la suite
Archi & Techno

Android library development best practices guide

As Android developers, we are used to having to integrate many libraries in our applications. It can be from quite small .jar files to huge .aar archives which embed multiple screens. Sometimes the integration of these libraries goes smoothly but in some cases, it can be quite painful and lead to the addition of some “hacks” into the app in order to integrate it properly. In some other cases, it can also lead to time-consuming exchanges between the person who integrates the library and the…

Lire la suite
Archi & Techno

Build your first Instant App!

You are an adept of Android App Links and you find wonderful being able to suggest your users to install your application or to redirect them from your website to your application with specific data relative to their requests? Well, forget (almost) everything you know. Since Google I/O last week, Google released to developers what comes as the biggest news in the Android development world: Instant Apps. Instant Apps are applications that can be executed instantly, from anywhere, without having to be installed on your…

Lire la suite
Archi & Techno

Android Themes & styles, a real architecture

In modern Android development, there is a huge rise of advanced architectures like MVP, MVVM or Clean Architecture, crazy libraries like RxJava or Dagger and even new languages like Kotlin. But on most projects, theme and styles are still written in an oldschool way with no consideration on how to architecture them. But these XML are part of your code base and you should show them the same love you show to your Java Code.

Lire la suite
Archi & Techno

Asynchronism in mobile

In Android, asynchronous tasks are done to avoid long operations in the main thread. Android documentation gives a good advice to the community to avoid ANR (Android Not Responding): Therefore, any method that runs in the UI thread should do as little work as possible on that thread. In particular, activities should do as little as possible to set up in key life-cycle methods such as onCreate()and onResume(). Potentially long running operations such as network or database operations, or computationally expensive calculations such as resizing…

Lire la suite
Archi & Techno

Identify performance issues in your Android application

A smooth user experience is a common attribute of all the successful Android applications. It might sound as an obvious statement but many are the applications that are a little bit “laggy”. Moreover android developers are use to test their application mostly on high-end devices (generally their own devices), forgetting that their app will be run on cheaper devices, which will deteriorate the app smoothness a lot. It is pretty easy to find documentation on the Internet that will give you advices to have an efficient…

Lire la suite
Archi & Techno

Reduce your Android build duration

Build duration is a metric that every Android developer should monitor carefully. Indeed (even if you are very confident in the code you produce), you will have to run your project many times every day. When you re-run your code, you need to be able to see the result of your modifications really quickly. Otherwise, two things may happen: something will distract you and you will loose your focus or you will go back to your code and forget to check the effects of your…

Lire la suite
Archi & Techno

Keep your gradle dependencies up to date seamlessly

Keeping your dependencies up to date is not the funniest part of a project dev process. Especially if the dependencies list becomes long. However, it is crucial to keep your dependencies as possible close to the up-to-date versions available in order to benefit from the latest upgrades (such as bug fixes). The longer you wait, the harder the upgrade will be. So what if you receive an email every week to inform your team about the last version available of your projects dependencies? Some tools like Lint…

Lire la suite
Archi & Techno

Strengths and weaknesses of a cloud-hosted Android CI Server

Using a CI Server is a programming practice that is well established and not opened to debate anymore. Sometimes, it's even a topic on which the IT Department has regained control of, managing and rationalizing the servers. Yet, as is often the case, mobile is following its own way: the technologies used can be considered non-standard among the company, the ecosystem is updated way more frequently than in other computing areas, and the need of running on a specific OS for iOS can be the…

Lire la suite