Top Android libraries every developer should know

Top Android libraries every developer should know

This is Top Android libraries every developer should know Tutorial I am explaining the newest list of 25 Android libraries and projects. There are most useful, interesting and which are worthy to check. All of them were released recently last 3 months and are not in ranked order. Check them below and enjoy!

Top Android libraries every developer should know

Contents

1. Android libraries every developer should know: Fairy

Fairy is an easy debug tool which allows developers to use adblogcat command to view the Android system log on an Android phone instead of on a computer.
It also allows scanning the system log information anywhere using an Android phone without even having a root.

The library has decent documentation and it is released under Apache-2.0 license. It supports Android API 21 and above.

2. Android libraries every developer should know: ExpansionPanel

This is another great library from Florent Champigny. It provides us with an implementation of Expansion Panels (which contain creation flows and allow lightweight editing of an element).

The documentation is really comprehensive and the project itself contains a sample app. All the code is under Apache-2.0 license. The sample app is also available on Google Play

3. Android libraries every developer should know: kotlin-math

This is

Set of Kotlin APIs to make graphics math easier to write. These APIs are mostly modeled after GLSL (OpenGL Shading Language) to make porting code to and from shaders easier.

The various types offered by this library are only meant to be value types. Most APIs are therefore exposed as top-level functions and not as methods

The project is released under Apache-2.0 license.

4. Android libraries every developer should know: TicketView

This is a library which provides a Ticket View. It offers 3 types of TicketView corners: normal, rounded and scallop.

This project is released under Apache-2.0 license and the sample app can be found in the Github repo or on Google Play. The documentation is decent and the library supports API 15 and above.

5. Android libraries every developer should know: Cipher.so

This library provides a simple way to encrypt sensitive data into a native .so library.

How does the library work? All the key-values are auto-packaged into a native library during a compile time. Then it can be obtained from the Java interface generated by Cipher.so.

The documentation is good enough and the project is released under Apache-2.0 license.

6. Android libraries every developer should know: android-clean-architecture-mvi-boilerplate

This is a fork of Buffer clean architecture boilerplate using the Model-View-Intent pattern.

In the presentation layer, it uses now fromViewModels the Android Architecture Components Library. The caching layer now also uses Room.

7. Android libraries every developer should know: Android-Indefinite-Pager-Indicator

This library is a lightweight, plug-and-play indefinite pager indicator for RecyclerViews&.ViewPagers

This library has really good documentation, sample app, a lot of dots customization and is released under MIT license. MinSDK is 16.

8. Android libraries every developer should know: daggraph

If you use Dagger, you will probably find it interesting to see how your dependencies look on a graph. Dagger is a tool which provides this functionality for you.

The documentation is quite short but enough to get started with the project, which is released under Apache-2.0 license.

9. Android libraries every developer should know: ToastCompat

This is an Android library to hook and fixToast.BadTokenException
The purpose of this library was a fact, that from API 25, a new parameter was added IBinder windowTokenforToast#handleShow() and it brought themBadTokenException. This library tries to work around that issue.

More info you can find in README on Github. The project is released under Apache-2.0 license.

10. RecyclerBanner

This is not a library but a sample app which shows how to create a carousel using.RecyclerView

Unfortunately there is no English documentation, however, you can refer to this article (tutorial) and translate it.

11. Android libraries every developer should know : FancyToast-Android

This library makes native Android Toasts Fancy. It takes the standard Android Toast to the next level with a variety of styling options. It offers also styling Toasts from the code.

This library has a good documentation and contains a sample app as well. MinSDK is set to 19 and this whole project is released under Apache-2.0 license.

12. Android libraries every developer should know : RecyclerViewCardGallery

This library is a fork from this RecyclerViewCardGallery. Instead of using ViewPager, an author used RecyclerView, to achieve the cthe arousal effect with a swipe to refresh.

The project has basic documentation, sample app and it is released under Apache-2.0 license.

13. Android libraries every developer should know : ig-lazy-module-loader

This library helps with loading modules (features) in Android apps on demand, whenever needed. Before this library can be used a module needs to be compiled to a separate jar/dex or apk file.

Right now, the library supports java libraries and android libraries which don’t rely on android resources.

The author of the library also mentioned the benefits of Lazy loading of a feature vs having the feature in the main executable file:

  • the feature is loaded in memory only when really needed. It offloads code from the main executable file which remains smaller which guarantees better cold start time. On Dalvik, it offloads methods off the main dex file decreasing performance penalty of multi dex
  • feature code is clustered together in memory as it lives in one file and it provides the most optimal execution in terms of memory access
  • less disk space is used if some features remain unused because the code is not uncompressed
  • it may improve developer velocity where many developers concurrently work on the same codebase by providing very rigid isolation between features
  • module hot-swapping may be implemented allowing for faster development without restarting the app

14. Android libraries every developer should know : retrofit2-kotlin-coroutines-adapter

This is an experimental Retrofit 2 CallAdapter.Factory for Kotlin coroutine’sDeferred. Released under Apache-2.0 license.

15. Android libraries every developer should know : CalendarPicker

This library is another calendar and date picker. It can present a selected date and is heavily customizable — you can customize almost all text sizes and colors, background colors and month title.

This library is released under MIT license and has basic documentation.

16. Android libraries every developer should know: transitioner

Transitioner is a library which provides easy, dynamic and adjustable animations between two views with nested children. It is written 100% in Kotlin under MIT license and is really well-documented.

This library supports API 19 and above and in the project, there is also a sample app which presents its features. Undoubtedly this is worth checking!

17. Android libraries every developer should know : FragmentRigger

This library manages Fragments in a powerful way. The goal is to make Fragments easy to use and minify the cost of managing them.

The library has a proper documentation as well as a sample app. It is released under MIT license.

18. Android libraries every developer should know: PRDownloader

This is a file-downloader library for Android with pause and resumes support.

This is a short description from README:

PRDownloader can be used to download any type of files like image, video, pdf, apk and etc.
This file downloader library supports pause and resume while downloading a file.
Supports large file download.
This downloader library has a simple interface to make download request.
We can check if the status of downloading with the given download Id.
PRDownloader gives callbacks for everything like onProgress, onCancel, onStart, onError and etc while downloading a file.
Supports proper request cancelling.
Many requests can be made in parallel.
All types of customization are possible.

This library has a good documentation with a sample app and is released under Apache-2.0 license.

19. Android libraries every developer should know: AnimatedPieView

AnimatedPieView is another approach to displaying pie and ring charts on Android.

This library offers:

  • alpha animation on touch,
  • setting clearance angle,
  • fitting text field position itself during an animation,
  • setting a description and showing it for every paragraph,
  • a click callback,
  • a click effect,
  • the transformation between a pie chart and a ring chart,
  • animation when drawing the chart.

It has a really good documentation (also in English). There is also a sample app. All is released under Apache-2.0 license.

20. Android libraries every developer should know: FloatWindow

This library helps with adding a “Floating Window” which can be displayed on the top of your all Activities. The “Float Window” can be defined as eg. Floating Action button. This is shown below.

This library is released under Apache 2.0 license. It has a good documentation but it is written in Chinese. Just translate to English and have a fun!

21. MyLittleCanvas

The reason for that library was to facilitate work with canvas on Android. Instead of methods, you can use objects now.

By using this library, you can achieve e.g. a custom underline on a TextView which is shown above.
The example in README is self-explanatory and easy to use. The documentation is decent enough and the library is released under Apache-2.0 license. Have fun with drawing!

22. WindowImageView

This is a quite interesting library which displays ImageView in RecyclerView and it acts like a window. See the gifs below for the visualization.

This project includes a sample app. The documentation is fair enough for getting started and the library is released under the MIT license.

23. ChartView

ChartView is a project which presents, how to draw custom charts using andCanvasValueAnimator.

24. hyperlog-android

This is a utility logger library, on top of the standard Android classLog for storing logs in a database and push them to a remote server for debugging.

The documentation is really comprehensive. There is also a blog post about it and a sample application. The library is released under MIT license and currently has version 0.0.7.

25. GSON

Gson is a Java library used for serializing and deserializing Java objects from and into JSON. A task you will frequently need to do if you communicate with APIs. We mostly use JSON because it’s lightweight and much simpler than XML.

 

It also plays nice with the next library:

26. EVENTBUS

EventBus is a library that simplifies communication between different parts of your application. For example, sending something from an Activity to a running Service, or easy interaction between fragments. Here is an example we use if the Internet connection is lost, showing how to notify an activity:

 

27. ACTIVEANDROID

ActiveAndroid is an ORM for Android. It’s an abstraction over SQLite which allows you to communicate with a database on a device without writing SQL statements. An Object that extends ActiveAndroid Model can be saved to the database like this:

 

which can easily replace a big SQL statement like this:

 

An example of retrieving all users:

 

of which SQL counterpart would look like this:

 

ActiveAndroid is a nice way to remove a lot of boilerplate code used for working with databases. There are other open sources solutions like GreenDAO and ORMLite

28. LeakCanary

Did you know that coal miners used to take a canary in a cage down the mines so that if the gas got so bad that the canary died, it would be their signal to leave the mine? Well, LeakCanary is similar, but instead of testing for gas leaks, it’s a memory leak detection library for Android and Java. It helps to detect easily leaking objects by just adding a couple of lines of Java code to your existing code. It’s free and very easy to use. Similar to Dagger, the development of LeakCanary is also led by Square.

Again, LeakCanary is licensed under Apache License 2.0 and can be found from https://github.com/square/leakcanary.

29.Universal Image Loader (UIL)

Android apps have to work extensively with images. But managing images on smartphones is not an easy task – hundreds of them can get created in a single day, slowing down apps to a grind.

UIL is a highly popular open source alternative to this problem. It loads, displays and caches images asynchronously, letting your app carry on with its core task.

Check out this awesome library here.

30. avocado

This is a command line tool (similar to svgo) that optimizes Android VectorDrawable (VD) and AnimatedVectorDrawable (AVD) XML files.
It is created by Alex Lockwood and released under MIT license.

What it exactly does:

avdo rewrites the VectorDrawable using the smallest number of <group>s and <path>s possible, reducing their file sizes and making them faster to parse and draw at runtime. The example below shows the contents of a VectorDrawablebefore and after being run through avdo


That’s it. I hope you enjoyed my list. If you know any other great library, which was released in past 3 months and I didn’t mention about it, please let me know in the comments. You can also check my other articles that have been released earlier, in 2017:


If you like my article, please don’t forget to click 👏👏👏 to recommend it to others 👏👏👏.

Also, to be notified about my new articles and stories, follow me on Medium and Twitter. You can find me on LinkedIn as well. Cheers!

5,316 total views, 1 views today

(Visited 1,352 times, 1 visits today)

You May Also Like

About the Author: Android Developer

This is Mohammad I am Android Application Developer. I am the founder of Android Tutorial Online blog. I am programming lover and professional blogger from India. I spend most of my time doing programming and helping other programmers. This Android tutorial online blog for learning and share Android code.
My Chatbot
Powered by Replace Me