This API is handy and yet so sneaky. Don’t let yourself be fooled when using it on a view. To understand where the danger lies, we need to dig deeper into the
View in Android leverages the
Handler API. It acts as a passthrough with an inner
Handler and exposes both
Have a closer look at its implementation (at the time I’m writing the…
If you’re familiar with Git, you may have heard about Git rebase. This powerful command allows you to attach your Git branch to any location on your Git tree.
However, I have often heard about developers’ disdain for this command. Instead, they favor Git merge — a safer yet limited way to deal with their branch history.
Let’s first illustrate how they differ with a trivial example.
Say you have a base branch called
develop. Imagine you create a branch from
awesome_branch. Meanwhile, someone commits on
For all the dinosaurs in the room, I won’t explain what the File Transfer Protocol (FTP) is. But for those not familiar with this protocol, I recommend reading this article first.
Let’s face it: FTP is still widely used mainly because it remains an easy and reliable way to store your files. Here are a few use cases:
As opposed to iOS, you can dissect an Android artifact with a few bundled tools. Aside from extracting the full content of an artifact, I wanted to share with you two lesser-known data you can get from a single command line.
I’ve been using these command lines for automation purposes. And if you’re interested in setting up your CI/CD pipeline, these commands could become your best allies.
Signing an artifact becomes mandatory as soon as you’re planning to ship your application to your users. …
If you’re using Dagger as a dependency injection (DI) framework, chances are you’ve faced a situation where you couldn’t provide all dependencies.
Let’s start with a simple example. First, we want to create a manager that needs a repository to operate:
To provide the repository dependency with Dagger, you’d end up with this (assuming the
Repository is provided somewhere in a
Now let’s assume you need an identifier to fetch a specific resource from your repository. You’d want to pass this identifier to the manager to let your injected repository query the wanted resource:
Navigating remains one of the most challenging topics in mobile applications. While using navigation components or your own navigator, you’ll find many ways to route to a set of screens.
Nearly all mobile applications include text. It occupies a significant amount of the user interface (UI). This study shows that text content covers 30-40% of some of the most popular iOS apps’ UI.
As a result, you should focus on how readable your text is when conceptualizing your UI.
Let’s take an example. You may want to display some text on top of an image. Have you considered that your text color could merge with the image’s background? If not, chances are your users can’t always read it.
Imagine you’re revisiting an existing feature on your application. Sometimes, it’s such a change from the previous version that you will want to communicate about it. You might want to onboard your users with this updated functionality.
You want to trigger such an event when you’ve shipped this feature. However, notifying users who upgrade your app is all that matters. It brings no value to onboard new users from a revisited experience.
The Android SDK provides no mechanism to distinguish how your users obtained your application. They may have done so by either:
If you’re a mobile developer, you should be familiar with deep links. They bring a navigation mechanism to your application. With them, you can both:
So why are people often confused about them? And why is it so important to be accurate when communicating about deep links?
To answer the first question, I’ll need to explain what deep links are and how they behave. Since there are different types of deep links, you’ll want to dig deeper to clear the confusion.
Git is a powerful versioning tool allowing you to share code with your team. It lets you sandbox your work in a dedicated space called branches. How you manage branches is up to you. What matters is: how do you glue all those branches together when the delivery time comes.
Vincent Driessen presented ten years ago Git Flow. Since then, many developers have adopted it. So massively, that he recently wrote a note in his original post. He thought valuable to urge developers to consider this workflow only if you must deal with several versions in production.
If you fit…
Android advocate @Betclic