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 developer’s 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 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 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 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 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 — A file downloader library for Android with pause and resume support.
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.
Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
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 combinations 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 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 behavior (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 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 is a memory leak detection library for Android and Java.
“A small leak will sink a great ship.” — Benjamin Franklin
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 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.
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(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 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.
Simple saving. Fast queries. Save weeks of development time. Realm Mobile Database is an alternative to SQLite.
A logger with a small, extensible API which provides utility on top of Android’s normal Log class.
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.
It provides Android filters based on OpenGL in an efficient way.
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.
A Java serialization/deserialization library that can convert Java Objects into JSON and back.