This is an ongoing post that will introduce the best Android libraries that are commonly used or worth trying in new projects.
See Also: Best Android Game Engines & SDKs for 2D and 3D Game Development
Table of Content:
Photo Editor
- PhotoEditor - PhotoEditor is a photo editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories.
Reactive Programming
- rx-reCAPTCHA - This is an easy way to integrate SafetyNet reCAPTCHA with RxJava2.
- ReactiveNetwork - Android library listening network connection state and Internet connectivity with RxJava Observables, a successor of Network Events library rewritten with Reactive Programming approach.
- Rx2Animations - The library is an Android animation Rx2 wrapper which was developed to make implementing animation more solid and cohesive.
- RxAndroid - It adds the minimum classes to RxJava 2, which make writing reactive components in Android apps easier.
Advertising
- AppCrossPromoter - AppCrossPromoter allows developers to promote their own apps and to manage the direct-sold campaigns. It can cross-promote your apps through your other Android apps.
Views & Animations
- Bottom Navigation - This library allows you to show bottom navigation quickly and simply.
- SlyCalendarView - SlyCalendarView is a calendar library that allows you to select both a single date and a period. The view allows to change colors programmatically without modifying the theme.
- FloatingToast - FloatingToast help make customisable floating animated toasts.
- Inline Youtube View - This is a suite of utility libraries which allows to embed YouTube inside your Android, iOS or React Native app. It creates an instance of YouTubePlayerView inside a fragment.
- Fancybuttons - Fancybuttons makes styling a button easier. It can quickly customize a button with icon, border, radius and more.
- AppIntro - o you want to introduce about your app when it is first launched by a user? AppIntro helps developers create an introduction view for their apps.
- ShowcaseView - This plugin can be used to showcase any specific part of the UI, it displays information of different widgets visible on the screen.
- Medium Textview - Medium TextView is an extended TextView which can be used to display medium content such as text, image, and video. If you don’t want to usue WebView, this is a simplified version.
- excelPanel - excelPanel library allows developer to create a two-dimensional RecyclerView which can display data like Excel.
- DialogPlus - The library provides android L dialog animation which makes an dialog in any of 3 positions: top, middle and bottom. It supports 3 content types by default, ListHolder, GridHolder and ViewHolder.
- Toasty - This library will help you make a better-looking Toast. It supports Warning, Success, Error, Info states.
- Charts and Graphs - Data tracker requires beautiful graphs to display data in a way that is beautiful and easy to read. These libraries provides an quick way for developer to draw graph and chart.
- Hover - Hover provides an easy-to-use way for Android developers to implement floating menu.
- Android Animation Libraries - If you want to animate View, Android View Animations is the best choice. It is easy to use and has a lot of effects such as Bounce, Fade, Flip, Rotate, Slide, and more.
- Butteknife - Forget the repeated findViewbyId(R.id.textView)! Butterknife bind field and method for Android views which uses annotation processing. It supports binding not only views but also resources, actions and listeners.
- VideoPlayView - A custom view with video player, loader and placeholder image.
- Calligraphy - Calligraphy makes changing fonts in all views easier than ever. You don’t need to go through every Textview and swapping new font until you are satisfying.
- Flexbox for Android - FlexboxLayout brings CSS Flexible Box Layout Module features to Android, which makes complex layout easier to achieve.
- Alerter - It showcases a new layout which can be useful than Toasts and Snackbars.
Other
- ResearchStack - It is an SDK and UX framework for creating research study apps on Android.
Jobs
- Android Priority Job Queue - An implementation of a Job Queue specifically written for Android to make progress of managing scheduled jobs easier and run in the background.
- Android Job - It is an Android utility library which schedule jobs in the background. The best part about this library is that it uses either JobScheduler, GcmNetworkManager or AlarmManager according to Android version.
Network
- Mockito - Mockito is the most popular Mocking framework for unit tests.
- Picasso - I use this library whenever I need to load images from assets folder or from the internet. It handles loading and caching image into ImageView well.
- Retrofit - Retrofit is the best option in this category. It has become the most commonly used type-safe HTTP client for Android.
Dependency Injection
- Dagger 2 - Dagger is a fully static, compile-time dependency injection framework for Android. Dagger is currently in active development, primarily internally at Google.
Debug
- timber - A logger with an extensible API which provides utility on top of Android’s Log class.
- Stetho - Stetho is debug bridge for Android applications which allows developers to use Chrome Developer Tools. Developers can have access to SQLite, View Hierchary, and Network information within Chrome browser.
- chuck - Chuck is an in-app HTTP inspector for Android OkHttp clients. It intercepts and persists all HTTP requests and responses and display their info in UI.
- LeakCanary - LeakCanary is a memory leak detection library for Android, it will automatically show a notification when an activity memory leak is detected in your debug build.
Database
- Database libraries - If you don’t want to use an ORM, these SQLite and its alternatives will help you save a lot of working with database.
- ORM - List of the best Android ORM libraries. My choice is to use ActiveAndroid in small projects and greenDAO in big ones.