30 Android libraries and tools that shouldn't pass you by in 2018
During the summer of 2018, many excellent Android libraries and tools were developed and updated.
I have compiled the newest unordered list of Android libraries, tools and projects that may be interesting or useful during your daily work. They are also great for inspiration or experimentation.
I hope you will like it. Let's start!
This is a library that offers a set of LayoutManagers for RecyclerView, which will help achieve effects such as the gif below.
These LayoutManagers basically expand
LinearLayoutManageradd additional functionality to them.
This library has very laconic documentation, but the code speaks for itself. The best way to understand the library - is to see a sample application and see it in the implementation of
The library is released under the Apache 2.0 license, and you really should pay attention to it.
Creative View Pager is an interesting implementation
ViewPagerthat adds a list of titles that scrolls smoothly along with the content of the pages.
The documentation is exhaustive and explains how to use the library. Released under the Apache 2.0 license and written almost entirely on Kotlin.
Instabug is a tool for collecting feedback and errors for mobile applications. Thanks to a few simple steps, your users or beta testers will be able to report errors or leave feedback, and the SDK will remember the state of the user's device environment, including all console logs, network requests and steps to reproduce the error, collecting all this information on one panel for easy debugging. and bug fixes.
In a recent update, many bugs were fixed. You can read more about these changes here . Thus, Instabug allows you to:
- report errors and failures ;
- conduct surveys directly in the applications;
- request the functionality you would like to see in the application;
- monitor network performance;
- include auto-write screen .
I have been using Instabug since 2016, when I was looking for a tool that would help my team and our users. I highly recommend it to you.
This is a check widget for Android based on an EventFilterView from an application written specifically for Google I / O 2018. It requires
The widget is released under the Apache 2.0 license and is written in Kotlin.
This is a lightweight, powerful and easy to use calendar.
It offers a number of useful features:
- endless vertical scrolling in both directions;
- setting a time frame to limit scrolling within a specific period;
- selection of one date, several dates or time ranges;
- preset selected dates;
- color settings;
- display of color indicators;
- installation of your own
- Being the successor of the class
Viewcan be used anywhere: in the
Dialog, or can be integrated into other user
This project is released under the MIT license.
The author also wrote a really good article about the library. She is definitely worthy of your attention. Released under the Apache 2.0 license.
This is a small but interesting library that offers you to use
Activity. To understand what this is all about, take a look at the gif below.
Unfortunately, the documentation is rather scant and is written in Chinese. I would not use it in my project, but only experimented with it. However, you can explore the application and the library itself. It is released under the MIT license.
This library creates drawables programmatically and eliminates duplicate files
Released under the Apache 2.0 license. There is complete documentation and works with API 14 and higher.
This library is written by the same developer who wrote DrawableToolbox. This is just another widget for choosing a color.
This library provides quite good documentation. Released under the Apache 2.0 license and works with API 14 and higher. If you need color selection functionality in your application, then this is a great option.
The library is huge. MvRx (pronounced “ mavericks ”) is an Android framework from Airbnb that they use for almost all their products.
MvRx makes the development of application screens, from the simplest to the most complex, simpler than it is originally. However, it builds everything on top of existing components, such as fragments or architectural components, so it does not limit you and can be easily applied in your projects.
The main goal was to create applications faster and with less effort. MvRx uses the following technologies and concepts:
- Android architectural components;
- React (concept);
- Epoxy (recommended).
The framework is released under the Apache 2.0 license. Documentation and wiki are great. The wiki has a version
tl;dr, and there is a regular one, with all the explanations necessary to understand the concept.
RxRedux is an implementation based on RxJava (inspired by redux-observable ) that helps neutralize side effects (a side effect is a type function
(Observable <Action>, StateAccessor <State>) -> Observable <Action>).
12. Emoji Slider
This is a custom
SeekBar, inspired Emoji slider from Instagram .
The project has very good documentation and sample applications. Released under the Apache 2.0 license.
This is a library that helps implement Material Swipe Actions in RecyclerView. Naturally, it is written in accordance with the principles of Material Design.
Thanks to good documentation, it is easy to set. The project is released under the MIT license.
Is a library that can store any
SurfaceViewin the form of image file formats:
JPG/PNG/nomedia. The library runs in a background thread, handling I / O errors and managing memory allocation.
You can use it to take screenshots inside your application (for example, for an error message).
It is quite easy to use, and the existing documentation is enough for a start. It is released under the Apache 2.0 license and supports API 19 and higher.
WiseFy is a shell for
ConnectivityManagerfor Android. It adds light high-level settings, for example:
- add and remove networks;
- check device connection;
- checking current network;
- turn on and off Wi-Fi and more.
This is not a new library, but recently a huge refactoring has occurred in it, and it has been completely rewritten to Kotlin.
The documentation is good and detailed. License: Apache 2.0.
MVICore is a modern Badoo Tech MVI framework , which includes:
- 100% Kotlin: an easy way to implement your business functions in a reactive mode;
- Scaling: you can work with a single Reducer component, but if necessary you can add as many as you need to handle more complex cases;
- Event handling: there is a solution for handling events that you don’t want to store;
- Linking reactive components: a very simple API for bundling your reactive components along with automatic lifecycle management;
- Logger out of the box;
- Time debugger: for all your reactive components (and not just for environment variables) you can record their state over time and then view it.
The framework has really good documentation . If you want to rewrite your application in the style of MVI, then you should pay attention to this solution.
This library can be useful when developing your own
Viewcomponents. For example, such a rotating phone dial can be used as a replacement for the download indicator.
There is a short README in the project. And it is released under the Apache 2.0 license. Written entirely on Kotlin.
This library is still under development, so use it with care in your projects. The documentation is good and it explains well how to use the library. Released under the Apache 2.0 license.
The library is released under the MIT license.
Splitties is a collection of small independent Android libraries, the purpose of which is to make the development of Android applications and libraries simple and fun. I really like this idea.
This project is called “Splitties” because it is divided into small modules distributed as independent Android libraries, so you can add to your project only those that you really need, which helps reduce the size of the final apk-file.
Each module is designed to be as efficient as possible with its small size.
The documentation is good, the project is released under the Apache 2.0 license.
This is a small library for watermarks on images, which also supports encrypted and invisible watermarks.
The library is quite powerful and suggests creating several watermarks, choosing a drawing mode and a way to load resources (as text, as a
Viewcomponent or as an Android resource). The documentation is good, there is also an example application.
The library is released under the Apache 2.0 license.
This is the second collection of libraries in this article. This time from the Mozilla team , and it can be useful during the creation of browsers or applications similar to the browser.
The diagram below shows some of the available components.
There are 4 sample applications in the project that demonstrate the use of various components. It also has good documentation, and it is released under the MPL 2.0 license.
This library links RxJava and RxKotlin with Biometric Prompt (fingerprint scanner) on Android (added in Android 9 Pie, API 28+).
According to the official blog of Android developers , if you use your own fingerprint authentication mechanisms in your application, then you should switch to using the BiometricPrompt API as soon as possible.
RxBiometric helps you make it through the RxJava stream. It has reliable documentation with examples of use. Released under the Apache 2.0 license.
This is a library that extends
BottomNavigationViewfrom Google and allows you to look at it from a very interesting angle.
The project is written in Kotlin. Released under the Apache 2.0 license, and it has a sample application using the library.
This is an extension
LiveDatato Kotlin that turns code into call chains, like RxJava, from the Shopify command. If you use
LiveDataAndroid from the architectural components, you can easily replace it with
LiveData KTXand create such chains, as shown in the example below:
The project is being developed by four developers and released under the MIT license.
Tumbleweed is a branch from Universal-Tween-Engine that allows you to create smooth interpolations for each attribute of each object in your projects.
Tumbleweed differs from the original project with several features:
- reduced change
Timelines(separated ad and implementation
- interpolation is encapsulated by creating a certain type (
- deleted pool (constant source of unexpected behavior) and much more.
It contains comprehensive documentation and is released under the Apache 2.0 license. It also has an example application .
Stylist is a project created by Uber developers . This is a gradle-plugin written in Kotlin that generates a basic set of Android themes. For example, if you want to determine the size of the text in the dark and light themes of the application, you will create the following class:
And you get the generated XML themes:
The project was released under the Apache 2.0 license.
This is a small library that provides reactive shared preferences. It is designed specifically for use with Kotlin.
Using a copy
RxkPrefs, you can get preferences. But it will not be a raw preference value, but an instance of an interface
Prefthat provides more functionality.
The library is released under the Apache 2.0 license.
This library offers an easy way to dynamically replace the string resources of your application or add new languages without the need to publish a new version on Google Play. How it works?
Philology does not change the way resources are used to develop an application. Instead, it is implemented into this process: the value returned from your files inside the application is intercepted, and it is checked whether there is a newer value on the server. This allows you to remove typos, improve wording, or even add a new language. All in real time, without the need to release a new version of the application.
This is a really good idea. The library is released under the Apache 2.0 license. The project contains an example of the application, as well as really complete documentation.
This is an inspired Retrofit
WebSocketclient for Kotlin and Java from the Tinder team. The library is well documented and described in this article .
You can also see its use in the application for checking the Bitcoin rate in real time.
Scarlet is managed using StateMachine , also developed by the Tinder team.
The project was released under the license BSD 3-Clause.
That's all! I hope you enjoyed this list, and some projects have inspired you. If you know any other big library that has been released in the last 5 months, and I didn’t mention it, please let me know in the comments.