Sign in

Android developer @ Nextome, Co-lead @GDG Bari. B.Sc. in Computer Engineering at #PoliBa. Big #OpenSource, #Kotlin fan. Making the world a better place
Photo by chuttersnap on Unsplash

Libraries are certainly something developers are dealing with every day. They help make big projects modular, giving us lots of advantages like Gradle’s selective module compiling for faster build time and smoother git flows. If some libraries are strongly related to some particular features, they also simplify the creation of different feature modules for dynamic delivery with Android App Bundles.

And, honestly, just look at how your build.gradle changes day after day…


It official now! Retrofit 2.6.0 has been released with support for suspend functions.

This allows you to express the asynchrony of HTTP requests in an idiomatic fashion for the Kotlin language.

Behind the scenes this behaves as if defined as fun user(...): Call<User> and then invoked with Call.enqueue. You can also return Response<User> for access to the response metadata.

To better understand how this works and how to migrate your current code (I know you will, just come back here when you notice how coincise and simple is the new syntax at the end of the post) let’s make an…


Google I/O brought various interesting things for Android Developers: there’s the cutting edge JetPack Compose, the new F̶l̶u̶t̶t̶e̶r̶ ̶i̶n̶ ̶K̶o̶t̶l̶i̶n̶ declarative toolkit to build UI using composable Widgets, but it’s still in early early stage of development and it’s not intended for production use in the short term.

Something that’s actually more interesting for Kotlin Developers, is the new integration between Coroutines and Arch Components, lifecycle and liveData in primis and by now I think you’ve already guessed what is the topic we’re going to cover in this article :)

First of all, to get all the new features, you…


GeoJson is a relatively new open standard format (GeoJSON as RFC 7946 were released in August 2016) designed to represent simple geographical features. It’s simple, human-readable and based on JSON.

Working with GeoJson layers is extremely simple, you can even use an online editor to create, edit and download new layers. But what about viewing GeoJson files on your Android device?

Let’s see how to render GeoJson layers on the top of an existing map. In this example, we’ll use 3 technologies: Google Maps, Open Street Map and Rambox.


After a few months of developer preview, this week Google officially released Android 7.1. Factory images are in fact already available for the most recent Nexus phones and, of course, Pixels.

One of the key features of Android 7.1 are App Shortcuts, a new way of interacting with apps directly from the home screen. If you tap for about a second on an icon on your home screen (even from your drawer) a menu will appear containing some shortcuts that will directly launch some specific features of the app.

Let’s say you want to add a new event to your…


At I/O 2016, Google turned Firebase into an unified mobile platform and migrated to it some existing services service like Google Cloud Platform, adding some new interesting features.


With Android Support Library 23.2, Google announced support for Bottom Sheets. According to Material Design, Bottom Sheets are elements displayed only as a result of a user-initiated action, used to reveal more content. They can be modal and slide from the bottom or persistent, when they’re integrated with the app to display supporting content (like Google Maps).


In my previous posts I’ve explained how to export/import a Realm database from your app and how to eventually backup it on Google Drive. If you’ve read the latter in particular, you’ll know we created a simple activity that used Drive’s Picker to pick a destination folder for the backup file and again Drive’s Picker to select a backup to restore. Even Google this week shared a case study about WhatsApp automatic backups with Google Drive (well, a less technical one, hah) so this is an hot topic.

[Read all the article for a bonus video]

Some weeks ago, Satyajit…


Last week we’ve seen how to backup and restore a local instance of a Realm Database. Now let’s try to do more using the same code base, like upload our database to Google Drive.

There’re 2 ways to integrate your app with Google Drive on Android:

REST API allows you to do way more than Android one and it’s also well documented. I’ve also noticed a few bugs with the latter, like a sync delay while receiving metadata. On another side, Android API is integrated with Google Play Services and offers better performance…


One feature Glucosio users asked the most was complete database backup/restore. As you may already know, we’re using Realm to power our mobile database.

Realm is a replacement for SQLite & ORMs

One month ago, the Realm team released a very useful library for iOS projects called Realm Cocoa Converter (read their blog entry here). Cocoa Converer allows developers to export data in and out Realm in readable formats (like CSV). The library is written in Swift and it’s very easy to use:

// Example code to export database to CSVlet path = ... // Absolute path to the…

Paolo Rotolo

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