2015-08-06



Android Third-Party Library

There are many third-party libraries for Android but several of them are "must have" libraries that are extremely popular and are often used in almost any Android project. Each has different purposes but all of them make life as a developer much more pleasant. The major libraries are listed below in a few categories.

Standard Pack

This "standard pack" listed below are libraries that are quite popular, widely applicable and should probably be setup within most Android apps:

Name

Description

Retrofit

A type-safe REST client for Android which intelligently maps an API into a client interface using annotations.

Picasso

A powerful image downloading and caching library for Android.

ButterKnife

Using Java annotations, makes Android development better by simplifying common tasks.

Parceler

Android Parcelable made easy through code generation

IcePick

Android Instance State made easy

Crouton

Context-sensitive, configurable alert notices much better than toasts

Hugo

Easier logging using annotations

LeakCanary

Catch memory leaks in your apps

Convenience

Dagger - A fast dependency injector for Android and Java. See this video intro from Square.

AutoParcel - Port of Google AutoValue for Android with Parcelable generation goodies.

Hugo - Easier logging within your app

Logger - Much cleaner and easier logcat trace messages

Trikita Log - Tiny logger backwards compatible with android.util.Log, but supporting format strings, comma-separated values, non-android JVMs, optional tags etc

LeakCanary - Easily catch memory leaks as they occur

AndroidAnnotations - Framework that speeds up Android development. It takes care of the plumbing, and lets you concentrate on what's really important. By simplifying your code, it facilitates its maintenance

RoboGuice - Powerful extensions to Android using dependency injection.

Calligraphy - Custom fonts made easy

EasyFonts - Easy preloaded custom fonts in your app

AndroidViewAnimations - Common property animations made easy

SDK Manager Plugin - Helpful plugin especially for group projects if you're missing an SDK version, haven't downloaded an API version, or your support library is updated.

Extensions

Otto - An enhanced Guava-based event bus with emphasis on Android support

EventBus - Android optimized event bus that simplifies communication between components.

Tape - Tape is a collection of queue-related classes for Android and Java

RxJava - Reactive Extensions for the JVM

Priority JobQueue - Easier background tasks

ACRA - Crash reporting made easy and free. Check the setup instructions and open-source backend.

Networking

Retrofit - A type-safe REST client for Android and Java which intelligently maps an API into a client interface using annotations.

Picasso - A powerful image downloading and caching library for Android.

Ion - Powerful asynchronous networking library. Download as a jar here.

Android Async HTTP - Asynchronous networking client for loading remote content such as JSON.

Volley - Google's HTTP library that makes networking for Android apps easier and most importantly, faster.

OkHttp - Square's underlying networking library with support for asynchronous requests.

Glide - Picasso image loading alternative endorsed by Google

IceNet - Android networking wrapper consisting of a combination of Volley, OkHttp and Gson

Android Universal Image Loader - Popular alternative for image loading that can replace Picasso or Glide.

ListView

EasyListViewAdapters - Building multi-row-type listview made much cleaner & easier.

GridListViewAdapters - Easily build unlimited Grid cards list like play-store. (ListView working as unlimited GridView)

StickyListHeaders - An android library for section headers that stick to the top of a ListView

PinnedListView - Pinned Section with ListView

ListViewAnimations - Easy way to animate ListView items

EtsyStaggeredGrid - Staggered GridView

Cardslib - Card UI for Lists or Grids

SwipeListView - Swipeable List

PullToRefresh-ListView - Easy to use pull-to-refresh functionality for ListViews.Download and install as a library project.

QuickReturn - Reveal or hide a header or footer as the list is scrolled in a direction.

RecyclerView

UltimateRecyclerView - Augmented RecyclerView with refreshing, loading more, animation and many other features.

android-parallax-recyclerview - An adapter which could be used to achieve a parallax effect on RecyclerView.

Easy Navigation

PagerSlidingTabStrip - An interactive indicator to navigate between the different pages of a ViewPager.

jpardogo/PagerSlidingTabStrip - This fork of the original is actively maintained and has support for a material design look.

ViewPagerIndicator - Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock.

JazzyViewPager - Pager with more animations

ParallaxPager - ViewPager with Parallax scrolling effects

ParallaxHeaderViewPager - Another ViewPager with Parallax scrolling effects

ParallaxPagerTransformer - A pager transformer for Android with parallax effect

SlidingMenu - Library that allows developers to easily create applications with sliding menus like those made popular in the Google+, YouTube, and Facebook apps.

Android Satellite Menu - Radial menu which is configurable reminiscent of the "Path" menu style.

ArcMenu - Alternate radial menu modeled after the "Path" menu style.

AndroidSlidingUpPanel - Sliding Up Panel

DraggablePanel - Panels that can be dragged

UI Components

Crouton - Context-sensitive, configurable alert notices much better than toasts. Download jar from here. See working sample code

BetterPickers - BetterPickers for easy input selection

RoundedImageView - Easily round corners or create oval-shaped images with this popular library.

Android StackBlur - Dynamically blur images

Android Bootstrap - Bootstrap UI widgets

PhotoView - ImageView that supports touch gestures

ShowcaseView - Highlight the best bits of your app

FadingActionBar - Cool actionbar fade effect

AndroidViewAnimations - Easily apply common animations

ProgressWheel - Better progress bar

SmoothProgressBar - Horizontal indeterminate progress

Rebound - Easy spring dynamics

AndroidImageSlider - Animated image transitions

FloatingActionButton - Material design floating buttons made easy

Foursquare-CollectionPicker - Item Picker which looks like Foursquare Tastes picker

NexusDialog - Create form dialogs easily

dialogplus - Simple, easy dialogs

Iconify - Easily embed icons into your app

Android StepsView - A library to create StepsView for Android

Drawing

Leonids - Simple and easy particle effects (See Tutorial)

MPAndroidChart - A powerful Android chart view / graph view library

AChartEngine - This is a charting software library for Android applications

HoloGraphLibrary - Newer graphing library

EazeGraph - Another newer library with potential

AndroidCharts - Easy to use charts

AndroidGraphView - library to create flexible and nice-looking diagrams.

AndroidPlot - plotting library for Android

WilliamChart - Flexible charting library with useful motion capabilities.

HelloCharts - Charts/graphs library for Android with support for scaling, scrolling and animations.

MPAndroidChart-A powerful Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, dragging and animations.

Scanning

ZXing - Barcode or QR scanner

barcodescanner - Newer alternative

zxscanlib - ZXing alternative

android-quick-response-code - Another alternative

Persistence

ActiveAndroid

greenDAO

SugarORM

ORMLite

Realm

NexusData

Hawk - Persistent secure key/value store

Poetry - Persist JSON directly into SQLite

DbFlow - A robust, powerful, and very simple ORM android database library with annotation processing.

Compatibility

NineOldAndroids - Fully compatible animation library that works with all versions of Android. Widely used. Download and install as a library project.

HoloEverywhere - Backport Holo theme from Android 4.2 to 2.1+

CropImage - Simple compatible cropping intent for images

Scrolling and Parallax

This is a list of popular scrolling and parallax libraries:

QuickReturn - Reveal or hide a header or footer as the list is scrolled in a direction.

ParallaxPagerTransformer - A pager transformer for Android with parallax effect

ParallaxHeaderViewPager - Another ViewPager with Parallax scrolling effects

Android-ObservableScrollView - Android library to observe scroll events on scrollable views.

Scrollable - Automatic scrolling logic when implementing scrolling tabs

ParallaxPager - ViewPager with Parallax scrolling effects

android-parallax-recyclerview - An adapter which could be used to achieve a parallax effect on RecyclerView.

Resources

Check out the following resources for finding libraries:

Android Elementals

Wasabeef Core Libraries

Wasabeef UI Libraries

Android-Libs.com

http://androidlibs.org/

http://appdevwiki.com/wiki/show/HomePage

http://androidweekly.net/toolbox

http://android-arsenal.com

References

http://www.vogella.com/tutorials/AndroidUsefulLibraries/article.html

http://actionbarsherlock.com/

http://nineoldandroids.com/

https://github.com/roboguice/roboguice/wiki

https://github.com/excilys/androidannotations/wiki

https://github.com/erikwt/PullToRefresh-ListView

https://github.com/jfeinstein10/SlidingMenu

http://square.github.io/picasso/

Show more