Top 10 Useful Android Libraries — Oct 2019
By: Velmurugan Murugesan
Tags: Android Libraries, Android App Development, Android, Github, Libraries

Retrofit

Retrofit is a type-safe HTTP client for Android and Java. With Retrofit we can compose the HTTP connection easily through a simple expressive interface just like an api document. Besides the elegant syntax it provides, it’s also easy to incorporate with different library.

Timber

Timber is used for better logging in Android. As an Android developer, we use a lot of Log statement in our project to generate outputs and we can use it to check if the required output is printed in Terminal or not.

Usage

Two easy steps:

Install any Tree instances you want in the onCreate of your application class. Call Timber’s static methods everywhere throughout your app.

Lottie

Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile and on the web!

For the first time, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand. They say a picture is worth 1,000 words so here are 13,000.

Firebase Crashlytics

Firebase Crashlytics is a lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality. Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them.

ReactiveX

ReactiveX, also known as Reactive Extensions or RX, is a library for composing asynchronous and event-based programs by using observable sequences. This is perfect for Android, which is an event-driven and user-focused platform.

ReactiveX is a combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming

Picasso

Images add much-needed context and visual flair to Android applications. Picasso allows for hassle-free image loading in your application-often in one line of code!

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

Many common pitfalls of image loading on Android are handled automatically by Picasso:

Handling ImageView recycling and download cancelation in an adapter.

Complex image transformations with minimal memory use.

Automatic memory and disk caching.

Room

The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.

The library helps you create a cache of your app’s data on a device that’s running your app. This cache, which serves as your app’s single source of truth, allows users to view a consistent copy of key information within your app, regardless of whether users have an internet connection.

Butterknife

Android Butterknife is a view binding tool that uses annotations to generate boilerplate code for us. ButterKnife is developed by Jake Wharton at Square and is essentially used to save typing repetitive lines of code like findViewById(R.id.view) when dealing with views, thus making our code look a lot cleaner.

Dagger 2

A fast dependency injector for Java and Android.

Dagger is a compile-time framework for dependency injection. It uses no reflection or runtime bytecode generation, does all its analysis at compile-time, and generates plain Java source code.

Dagger is actively maintained by the same team that works on Guava. Snapshot releases are auto-deployed to Sonatype’s central Maven repository on every clean build with the version HEAD-SNAPSHOT. The current version builds upon previous work done at Square.

LeakCanary

LeakCanary is a memory leak detection library for Android.

LeakCanary’s knowledge of the internals of the Android Framework gives it a unique ability to narrow down the cause of each leak, helping developers dramatically reduce OutOfMemoryError crashes.