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 extend RecyclerView.LayoutManager
or simply LinearLayoutManager
and add 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 look at an example application and see the implementation of Activities
and Fragments
in it.
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 of the ViewPager
, which adds a list of titles that smoothly scrolls 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:
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 minSdkVersion
21.
A good README allows you to quickly start working with a widget. The initial implementation was developed by Nick Butcher and José Alkerreka from Google.
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:
ItemDecoration
;View
class, it can be used anywhere: in Activity
, Fragment
, Dialog
, or it can be integrated into another user View
component.Remarkable documentation with many examples. There is also an example application on Github and Google Play .
This project is released under the MIT license.
This is a library for creating dynamic in-app navigation, inspired by Google Inbox and Reply .
InboxRecyclerView
can be safely added to any existing project. You can take a look at the sample application and download its APK to view it on your phone.
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 suggests you to use SlideBackView
inside the 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 drawable.xml
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 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:
The framework is released under the Apache 2.0 license. The documentation and wiki is great. The wiki has a version of tl;dr
, and there is a regular one, with all the explanations necessary to understand the concept.
If you have heard about Redux , its basic concepts and three principles , you will probably immediately understand what this library is about.
RxRedux is an implementation based on RxJava (inspired by redux-observable ) that helps neutralize side effects (a side effect is a function of the (Observable <Action>, StateAccessor <State>) -> Observable <Action>
).
RxRedux is a kind of replacement for the .scan()
operator in RxJava. The README is well written and perfectly complemented by this article . The library is released under the Apache 2.0 license.
This is a custom SeekBar
, inspired by 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.
This is a library that can save any View
component or SurfaceView
as an image in the following 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 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 WifiManager
and ConnectivityManager
for Android. It adds light high-level settings, for example:
This is not a new library, but recently there has been a huge refactoring 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:
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 decision.
This library can be useful when developing your own View
components. 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 is an interesting library that converts a simple HTML page into RecyclerView from native Android widgets, based on the Jsoup library and inspired by Medium Textview .
This library is still under development, so use it with care in your projects. The documentation is good and explains in an easy way how to use the library. Released under the Apache 2.0 license.
I have repeatedly mentioned this library, but thanks to the efforts of the Buffer team, it is still developing. They are currently showing how to use Koin instead of Dagger for dependency injection.
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 View
component 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 in your application you use your own fingerprint authorization mechanisms, 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 Google's BottomNavigationView
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 Kotlin's LiveData
extension that turns code into call chains, like RxJava, from the Shopify command. If you use LiveData
from the architectural components of Android, then you can easily replace it with LiveData KTX
and 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 in several features:
Tweens
and Timelines
(divided declaration and implementation of Tweens
);TweenType<T>
);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 text size in the dark and light themes of the application, you will create the following class:
And you get the generated XML themes:
The project is 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 an instance of RxkPrefs
, you can get preferences. But it will not be a raw preference value, but an instance of the Pref
interface, which 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 when developing 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 WebSocket
client 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 BSD 3-Clause license.
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.
Also read other similar collections:
“25 fun Android libraries. Spring 2018 "
“10 Libraries Every Android Developer Should Know”
"7 libraries for Android development on Kotlin"
Source: https://habr.com/ru/post/431400/
All Articles