25 new Android libraries and projects to check at the beginning of 2018
This is my newest list of 25 Android libraries and projects which you may find useful, interesting and which are worthy to check. All of them were released in the last 3 months and are not in ranked order.
Check them below and enjoy!
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!
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.
FragmentRigger — :boom:A powerful library powered by aop to manage Fragments.（一个基于AOP设计的Fragment管理框架）github.com
This is a file-downloader library for Android with pause and resume 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.
PRDownloader - A file downloader library for Android with pause and resume supportgithub.com
AnimatedPieView is another approach for 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,
- 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.
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!
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!
You find canvas hard to use ? try MyLittleCanvas :) Don't work with canvas methods, use objects instead !github.com
This is 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 MIT license.
WindowImageView - An ImageView display in RecyclerView, looks like window.github.com
ChartView is a project which presents, how to draw custom charts using
This is an utility logger library, on top of standard Android
Log class for storing logs in a database and push them to 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.
hyperlog-android - A utility logger library for storing a logs into database and push them to remote server for…github.com
Fairy is an easy debug tool which allows developers to use adb logcat command to view Android system log on an Android phone instead of on a computer.
It also allows to scan the system log information anywhere using 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.
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
ExpansionPanel - Android - Expansion panels contain creation flows and allow lightweight editing of an element.github.com
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.
kotlin-math - Set of Kotlin APIs to make graphics math easier to writegithub.com
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.
An Android library to implement TicketView in android with normal, rounded and scallop cornersgithub.com
This library provides a simple way to encrypt sensitive date into a native .so library.
How the library works? 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.
Cipher.so - A simple way to encrypt your secure datas into a native .so library.github.com
This is a fork of Buffer clean architecture boilerplate using the Model-View-Intent pattern.
In the presentation layer it uses now
ViewModels from the Android Architecture Components Library. The caching layer now also uses Room.
android-clean-architecture-mvi-boilerplate - A fork of our clean architecture boilerplate using the Model-View-Intent…github.com
This library is a lightweight, plug-and-play indefinite pager indicator for
This library has really good documentation, sample app, a lot of dots customisation and is released under MIT license. MinSDK is 16.
Android-Indefinite-Pager-Indicator - A lightweight, plug-and-play indefinite pager indicator for RecyclerViews …github.com
If you use Dagger, you will probably find it interesting to see how your dependencies look on a graph. Daggerph 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.
This is an Android library to hook and fix Toast
The purpose for this library was a fact, that from API 25, a new parameter was added
IBinder windowToken for
Toast#handleShow() and it brought the
BadTokenException. This library tries to workaround that issue.
More info you can find in README on Github. The project is released under Apache-2.0 license.
ToastCompat - An Android library to HOOK and FIX Toast BadTokenExceptiongithub.com
This is not a library but a sample app which shows how to create a carousel using
Unfortunately there is no English documentation, however you can refer to this article (tutorial) and translate it.
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.
FancyToast-Android - Make your native android Toasts Fancy. A library that takes the standard Android toast to the next…github.com
This library is a fork from this RecyclerViewCardGallery. Instead of using ViewPager, an author used RecyclerView, to achieve carousel effect with swipe to refresh.
The project has basic documentation, sample app and it is released under Apache-2.0 license.
RecyclerViewCardGallery - RecyclerView实现循环banner，替代ViewPager方案。能够快速滑动并最终定位到居中位置(相比于原库支持了循环滑动)github.com
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:
- 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 most optimal execution in terms of memory access
- less disk space is used if some features remain unused because 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 hotswapping may be implemented allowing for faster development without restarting the app
ig-lazy-module-loader — Library that implements module lazy loading.github.com
This is an experimental Retrofit 2
CallAdapter.Factory for Kotlin coroutine's
Deferred. Released under Apache-2.0 license.
retrofit2-kotlin-coroutines-adapter — A Retrofit 2 adapter for Kotlin coroutine’s Deferred type.github.com
This library is another calendar and date picker. It can preset a selected date and is heavily customisable — you can customise almost all text sizes and colours, background colours and month title.
This library is released under MIT license and has basic documentation.
CalendarPicker — A calendar picker to select a day. Can preset a selected day.github.com
What it exactly does:
VectorDrawableusing the smallest number of
<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
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: