Best Android Libraries..
This
is my newest list of 25 Android libraries and projects which you may
find useful, interesting and which are worthy to check.
Check them below and enjoy!
Check them below and enjoy!
1. 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!
2. 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.
3. PRDownloader
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.
4. AnimatedPieView
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.
5. 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!
6. 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!
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!
7. WindowImageView
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.
8. ChartView
ChartView is a project which presents, how to draw custom charts using
Canvas
and ValueAnimator
.9. hyperlog-android
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.
10. Fairy
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.
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.
11. 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
12. 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.
13. 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.
14. Cipher.so
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.
15. 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
ViewModels
from the Android Architecture Components Library. The caching layer now also uses Room.16. 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
customisation and is released under MIT license. MinSDK is 16.
17. daggraph
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.
18. ToastCompat
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
BadTokenException
.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.
19. 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.
20. 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.
21. RecyclerViewCardGallery
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.
22. 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:
- 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
23. retrofit2-kotlin-coroutines-adapter
This is an experimental Retrofit 2
CallAdapter.Factory
for Kotlin coroutine's Deferred
. Released under Apache-2.0 license.24. CalendarPicker
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.
25. avocado
This is a command line tool (similar to
It is created by Alex Lockwood and released under MIT license.
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 theVectorDrawable
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 aVectorDrawable
before and after being run throughavdo
Comments
Post a Comment