Have you ever been in a situation where you needed to create an Android app with drag and drop feature? I was. And if you were too, I know what you might feel right now, believe me. At the beginning it will look like something very complicated with calculations of touches, drags, movement of the objects and many things like that 🤪, but in reality, there is a very nice API in the Android Framework, so we just need to use it 😌. Let’s see how it works in reality.

Image for post
Image for post
Image from Dribbble ( https://dribbble.com/shots/6305593-Interaction-Designers)

Let’s create a simple app, where we will have random…


The TextView is one of the most common Views used across all the Android apps. It has very simple API to show the text on the screen. Not only a simple text, but also styled text with clickable parts. So if everything is that simple, why we need new API for text?

Image for post
Image for post
Image from Dribbble (https://dribbble.com/shots/6032749--050-Writer-s-Flow)

Before answering that question let’s dive bit dipper and understand what is actually happening when you are writing a code like this:

textView.text = "Hello World"

Text Architecture


Android Jetpack’s Navigation Component is already stable and it makes it easy to navigate between fragments. You don’t have to deal with things like Fragment transactions, Fragment Manager, back stack. All you need to do, just create a navigation graph, a “map”, to ask the app where it can navigate and how.

Image for post
Image for post
Image from Dribbble ( https://dribbble.com/shots/5855823-Trunow-Find-Deals-Illustration)

So let’s look on a simple example how to implement that.

First of all, as usual, we need to add some dependencies.

In the project level build.gradle file:

allprojects {
repositories {
google()
jcenter()
}
}

In the app level build.gradlefile:

dependencies {
...
implementation 'androidx.navigation:navigation-fragment:2.0.0'
implementation 'androidx.navigation:navigation-ui:2.1.0-alpha02'


Since Android O, it is no longer possible to have any background services and there are lots of broadcasts, which will not work as well. So, if you want to implement a task, which will work in the background, you have only few choices for the moment, and one if them is WorkManager.

Image for post
Image for post
Image from Dribbble (https://dribbble.com/shots/4600307-Construction-worker-character)

The WorkManager is a part of Android Jetpack and recently, it becomes stable with the version 1.0.0. Google already has libraries like this: JobScheduler and Firebase Job Dispatcher. Also, there is a great and popular third party library: Evernote’s Android Job. …


At the Google IO 2018 the company has introduced a new View component for Android: Bottom App Bar.

Image for post
Image for post

It is a simple toolbar with up to five actions and the ability to have Floating Action Button on it. The main advantages of the Bottom App Bar are flexibility (you can have different locations for the Floating Action Button) and ergonomic (it is more comfortable to reach the bottom area of the screen with one finger rather than the top area). …

Robert Levonyan

Android Developer. Find my projects here: https://robertlevonyan.com

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