Awesome Android Open Source Libraries

Best Android Open-Source Libraries

As you know that using third-party libraries in your projects can save you a lot of time and also make the projects bugs-free.

The main reason behind is that the open source projects are being developed by the whole community of developers with love.

The open source project goes under a huge development and bug fixes.

I too love open-source and have created many libraries for Android with love and also received the same from the whole community. The only things I can say is that the developers community is awesome.

The following are the highly recommended open-source libraries which you should use in your Android projects :

Android Must Have Libraries That You Should Use in Every Project

Fresco

Fresco is a powerful system for displaying images in Android applications. It takes care of image loading and display, so you don’t have to. It will load images from the network, local storage, or local resources, and display a placeholder until the image has arrived. It has two levels of cache, one in memory and another in internal storage.

Glide

Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface. It is focused on smooth scrolling.

OkHttp

OkHttp is an HTTP+HTTP/2 client for Android and Java applications. When it comes to networking in Android, nothing beats this Http engine.

Fast Android Networking

Fast Android Networking is built on top of OkHttp engine to make networking very simple (No boilerplate Code). When it comes to networking, this library makes every developer’s life a whole lot easier. It is a light-weight and fast networking library. Use it, you will love it.

PRDownloader

PRDownloader — A file downloader library for Android with pause and resume support.

RxJava

RxJava — Reactive Extensions for the JVM — a library for composing asynchronous and event-based programs using observable sequences for the Java VM. Learn RxJava By Examples from here.

EventBus

Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.

Device Year Class

Device Year Class is an Android library that implements a simple algorithm that maps a device’s RAM, CPU cores, and clock speed to the year where those combination of specs were considered high end. This allows a developer to easily modify application behavior based on the capabilities of the phone’s hardware.

Network Connection Class

Network Connection Class is an Android library that allows you to figure out the quality of the current user’s internet connection. The connection gets classified into several “Connection Classes” that make it easy to develop against. The library does this by listening to the existing internet traffic done by your app and notifying you when the user’s connection quality changes. Developers can then use this Connection Class information and adjust the application’s behaviour (request lower quality images or video, throttle type-ahead, etc).

By the way, Fast Android Networking is also having this feature in-built.

Android Debug Database

Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications.

It’s a very simple tool for viewing databases and shared preferences directly in your browser.

LeakCanary

LeakCanary is a memory leak detection library for Android and Java.

“A small leak will sink a great ship.” — Benjamin Franklin

MPAndroidChart

A powerful Android chart view, graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations.

ButterKnife

Butterknife is a view binding tool that uses annotations to generate boilerplate code for us. This tool 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

A fast dependency injector for Android and Java. It simplifies access to shared instances, makes easy configuration of complex dependencies, makes unit and integration testing easier and much more.

Learn about dependency injector from here.

NYBus

NYBus(New York Bus) is a pub-sub library. It will help us to learn the best coding style while creating library and how to create a pub/sub library.

GreenDao

GreenDAO is an open source Android ORM making development for SQLite databases fun again. It relieves developers from dealing with low-level database requirements while saving development time

Realm

Simple saving. Fast queries. Save weeks of development time. Realm Mobile Database is an alternative to SQLite.

Timber

A logger with a small, extensible API which provides utility on top of Android’s normal Log class.

Hugo

Annotation-triggered method call logging for your debug builds. As a programmer, you often add log statements to print method calls, their arguments, their return values, and the time it took to execute. This is not a question. Every one of you does this. Shouldn’t it be easier? Simply add @DebugLog to your methods and you will automatically get all of the things listed above logged for free.

Android GPU Image

It provides Android filters based on OpenGL in an efficient way.

ExoPlayer

ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and Smooth Streaming adaptive playbacks.

GSON

A Java serialization/deserialization library that can convert Java Objects into JSON and back.


Thanks for reading this article. Be sure to click ❤ below to recommend this article if you found it helpful. It means a lot to me.

For more about programming, follow me and Mindorks , so you’ll get notified when we write new posts.

Check out all the Mindorks best articles here.

Also, Let’s become friends on Twitter, Linkedin, Github and Facebook.


Enter your email below if you’d like to stay up-to-date with future content 💌