Some useful libraries, samples, tools & Open Source apps for Android
Collection if libraries starred during some years of Android Development. Here is the definitely list of android Open Source libraries
* In titles means it has been categorized more than once (in different categories)
LIBRARIES
UI
|---Widgets
| |---TextView
| |---Button
| |---EditText
| |---ImageView
| |---ProgressBar
| |---ListView
| |---ViewPager
| |---SeekBar
| |---GridView
| |---ScrollView
| |---ActionBar
| |---Sliding Views
| |---Other
|---Dialogs & Pickers
|---Toasts
|---Animation
| |---Parallax
| |---Other
|---Maps
|---Validation
|---Camera
|---Charts
|---Other
Location
Social
DB & Preferences
| |---ContentProvider / ContentResolver / Cursor
| |---Preferences
| |---Other
IO
Network
Event Bus
Tasks
Open GL
Dependency Injection
Testing
Reverse Engineering
Bluetooth
Scan
File Pickers
EXAMPLES
Network
Tasks
Dependency Injection
TOOLS
Proguard
Testing
Log
Localization
OPEN SOURCE APPS
Camera
P2P
Chat
Pedometer
NFC
Media
Other
Libraries
UI
Widgets
TextView
Title |
Description |
AutoFit TextView |
A TextView that automatically resizes text to fit perfectly within its bounds |
Token AutoComplete |
Gmail style MultiAutoCompleteTextView for Android |
Android RobotoTextView |
Implementation of a TextView and all its direct/indirect subclasses with native support for the Roboto fonts, includes the brand new Roboto Slab fonts |
Android Ago |
An Android TextView that always displays an auto refreshing relative time span with respect to a reference time |
Timely TextView |
Animated TextView like Timely app |
Email AutoComplete TextView |
An AutoCompleteTextView optimized for email auto-complete |
Shimmer Android |
An Android TextView with a shimmering effect |
Titanic |
Android experiment showing a sinking TextView |
Blink TextView |
Remember the '90s? Geocities? Blinking text? Dat. On Android |
Secret TextView |
A TextView that simulates the effect from the app Secret where the characters fade in/out at different speeds |
Button
EditText
ImageView
Title |
Description |
Ken Burns View |
Android ImageViews animated by Ken Burns Effect |
PhotoView |
Implementation of ImageView for Android that supports zooming, by various touch gestures |
Circle ImageView |
A circular ImageView for Android |
Custom Shape ImageView |
Custom shape ImageView using PorterDuffXfermode with paint shapes and SVGs |
Rounded ImageView |
a fast ImageView that supports rounded corners and ovals or circles |
Flip ImageView |
Small android lib allowing you to make a flip imageview easily, by extending FlipImageView |
Glide |
An image loading and caching library for Android focused on smooth scrolling |
Circular ImageView |
Custom view for circular images in Android while maintaining the best draw performance |
ProgressBar
ListView
Title |
Description |
Flabby ListView |
Android library to display a ListView which cells are not rigid but flabby and react to ListView scroll and touch events |
Dob List |
DobLis is an Open Source Android library that provides to ListView adding ProgressBar (or any view) to the footer of ListView to be shown in loading more, and callback that is called when reaching last item in ListView |
Android Swipe ListView |
An Android List View implementation with support for drawable cells and many other swipe related features |
Multi Choice Adapter |
A ListView adapter with support for multiple choice modal selection |
Jazzy ListView |
JazzyListView is an extension of ListView designed to animate list item views as they become visible |
ListView Animations |
An Android library which allows developers to easily add animations to ListView items |
Slide Expandable ListView |
A better ExpandableListView, with animated expandable views for each list item |
Swipe ListView |
An Android List View implementation with support for drawable cells and many other swipe related features |
Super ListView |
Way more than just a listview |
ViewPager
Title |
Description |
Jazzy ViewPager |
An easy to use ViewPager that adds an awesome set of custom swiping animations. Just change your ViewPagers to JazzyViewPagers, two more steps, and you're good to go! |
Android ViewPager Indicator |
Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock |
Salvage |
Generic view recycler and ViewPager PagerAdapter implementation |
Android Auto Scroll ViewPager |
auto scroll ViewPager or ViewPager in ViewPager. http://www.trinea.cn/ |
Pager Sliding Tab Strip |
An interactive indicator to navigate between the different pages of a ViewPager |
Numeric Page Indicator |
A ViewPager page indicator that displays the current page number and (optionally) the page count |
Wizard Pager |
Wizard Pager is a library that provides an example implementation of a Wizard UI on Android, it's based of Roman Nurik's wizard pager (https://code.google.com/p/romannurik-code/source/browse/misc/wizardpager) |
ViewPager Transformations |
Library containing common animations needed for transforming ViewPager scrolling for Android v13+ |
SeekBar
Title |
Description |
Start Point SeekBar |
StartPointSeekBar is a custom view for the Android platform that makes it possible to have a SeekBar to have custom start point |
GridView
Title |
Description |
Asymmetric GridView |
Crazy-ass Android GridView with asymmetric items |
Sticky Grid Headers |
An Android Library that makes it easy to make grid views with sectioned data and headers that stick to the top. http://tonicartos.github.io/StickyGridHeaders/ |
ScrollView
ActionBar
Title |
Description |
Not Boring ActionBar |
News Stand app makes the ActionBar not boring! |
Glass ActionBar |
A library that adds a glass-like effect to the action bar |
Fading ActionBar |
Android library implementing a fading effect for the action bar, similar to the one found in the Play Music app |
ActionBar PullToRefresh |
A modern implementation of the pull-to-refresh interaction for #android |
Refresh Action Item |
An action bar item which acts both as a refresh button and as a progress indicator |
Sliding Views
Title |
Description |
Android Sliding Up Panel |
This type of a panel is a common pattern also used in the Google Music app and the Rdio app |
DobSliding |
DobSliding is an Open Source Android library that allows developers to develop applications with vertical sliding menus just like the Android notifications menu |
Android Menu Drawer |
A slide-out menu implementation, which allows users to navigate between views in your app. http://simonvt.github.com/android-menudrawer/ |
Sliding Menu |
An Android library that allows you to easily create applications with slide-in menus |
Side Navigation |
Implementation of "SIde Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app). http://johnkil.github.com/SideNavigation |
Other
Title |
Description |
Android FlipView |
A small, easy to use android library for implementing flipping between views as seen in the popular Flipboard application |
Android Flip |
A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android |
Android PDF View |
A fast PDF reader component for Android development |
Android ViewBadger |
A simple way to "badge" any given Android view at runtime without having to cater for it in layout |
Quilt View Library |
QuiltView displays views of different sizes in a scrollable grid |
FreeFlow |
A layout engine for Android that decouples layouts from the View containers that manage scrolling and view recycling. FreeFlow makes it really easy to create custom layouts and beautiful transition animations as data and layouts change |
Draggable Panel |
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component |
Android Reside Menu |
The idea of ResideMenu is from Dribbble 1 and 2. It has come true and run in iOS devices. iOS ResideMenu This project is the RefsideMenu Android version. The visual effect is partly referred to iOS version of ResideMenu |
ShowCase View |
Highlight the best bits of your app to users quickly, simply, and cool. http://amlcurran.github.io/ShowcaseView/ |
Foldable Layout |
Android widgets to implement folding animation |
Image Layout |
Android - A layout that arranges its children in relation to a background image |
Swipeable cards |
A native library providing a Tinder-like cards effect. A card can be constructed using an image and displayed with animation effects, dismiss-to-like and dismiss-to-unlike, and use different sorting mechanisms |
Dialogs & Pickers
Title |
Description |
Update Checker |
Increase your app's updates |
Android Style Dialogs |
A simple library for styling Android dialogs in the Holo theme. It also removes boilerplate code for displaying simple dialogs |
DateTime Picker |
DateTimePicker is a library which contains the beautiful DatePicker that can be seen in the new Google Agenda app |
Recurrence Picker |
Google Calendar Recurrence picker |
Toasts
Title |
Description |
Android AppMsg |
In-layout notifications. Based on Toast notifications and article by Cyril Mottier (http://android.cyrilmottier.com/?p=773) |
Super Toasts |
A library that extends the Android toast framework |
Message Bar |
An Android Toast replacement, similar to the one seen in the GMail app. http://simonvt.github.com/MessageBar/ |
Undo Bar |
The UI component for Android advanced UI pattern undo-bar, used in Gmail app, create by Roman Nurik. http://soarcn.github.io/UndoBar |
Animation
Parallax
Title |
Description |
Motion |
An Android library allowing images to exhibit a parallax effect |
Parallax Pager |
Add some depth to your Android scrolling |
Other
Title |
Description |
Android Sliding Up Panel * |
Android Sliding Up Panel Demo |
Android FlipView * |
A small, easy to use android library for implementing flipping between views as seen in the popular Flipboard application |
Android Flip * |
A component for flip animation on Android, which is similar to the effect in Flipboard iPhone/Android |
Flabby ListView * |
Android library to display a ListView which cells are not rigid but flabby and react to ListView scroll and touch events |
FreeFlow * |
A layout engine for Android that decouples layouts from the View containers that manage scrolling and view recycling. FreeFlow makes it really easy to create custom layouts and beautiful transition animations as data and layouts change |
Ken Burns View * |
Android ImageViews animated by Ken Burns Effect |
Draggable Panel * |
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component |
DobSliding * |
DobSliding is an Open Source Android library that allows developers to develop applications with vertical sliding menus just like the Android notifications menu |
Jazzy ListView * |
JazzyListView is an extension of ListView designed to animate list item views as they become visible |
ListView Animations * |
An Android library which allows developers to easily add animations to ListView items |
Slide Expandable ListView * |
A better ExpandableListView, with animated expandable views for each list item |
Sticky List Headers |
An android library for section headers that stick to the top |
Android ScrollBar Panel |
Android ScrollBarPanel allows to attach a View to a scroll indicator like it's done in Path 2.0 |
Foldable Layout * |
Android widgets to implement folding animation |
Animation Easing Functions |
Android Animation Easing Functions. Let's make animation more real! |
Android View Animations |
Cute view animation collection |
Maps
Title |
Description |
Clusterer |
Clustering in Maps v2 for Android |
Validation
Camera
Title |
Description |
Easy Camera |
Wrapper around the android Camera class that simplifies its usage |
Charts
Title |
Description |
Eaze Graph |
An Android chart and graph library |
Other
Title |
Description |
Shake Detector |
This library provides a easy way to detect a shake movement using the build-in accelerometer and fire a callback on the UI thread every times it happens |
Android Face Cropper |
Android bitmap Face Cropper |
Location
Title |
Description |
Fluffy |
Battery-friendly background location updates for Android, using Google Play Location where available |
Fused Location |
This project aims to bring the Fused location provider to android apps without requiring the Play Services library |
Reactive Location |
Small library that wraps Google Play Service API in brilliant RxJava Observables reducing boilerplate to minimum |
Social
Title |
Description |
Twitter 4J |
Twitter4J is an open-sourced, mavenized and Google App Engine safe Java library for the Twitter API |
Twitter Android SDK |
Twitter SDK for Android, using Twitter4j |
Facebook Android SDK |
Use the Facebook SDK for Android to integrate with Facebook, help build engaging social apps |
Android Social Networks |
Library for easy work with Facebook, Twitter, LinkedIn and Google on Android |
DB & Preferences
ContentProvider / ContentResolver / Cursor
Preferences
Title |
Description |
Esperandro |
Easy SharedPreference Engine for Android |
Secure Preferences |
Android SharedPreference wrapper that encrypts keys and values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure |
AES Secure Preferences |
Secure AES Encryiption decorated Android Shared Preferences implementation |
Other
Title |
Description |
Snappy DB |
A key-value database for Android |
Cupboard |
Cupboard for Android is simple persistence that gets out of your way and is easy to add to your existing code base |
Android SQLite Asset Helper |
An Android helper class to manage database creation and version management using an application's raw asset files |
Sprinkles |
Sprinkles is a boiler-plate-reduction-library for dealing with databases in android applications |
Sugar |
Insanely easy way to work with Android Database. http://satyan.github.com/sugar/ |
IO
Title |
Description |
Conceal |
Conceal provides easy Android APIs for performing fast encryption and authentication of data, such as that stored on SD cards. http://facebook.github.io/conceal/ |
Network
Title |
Description |
Merlin |
Observes network connection status & gives callbacks |
Robospice |
RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules |
Android Volley |
Android Volley Mirror |
Retrofit |
Type-safe REST client for Android and Java by Square, Inc |
OkHttp |
An HTTP+SPDY client for Android and Java applications |
KSOAP 2 Android |
Lightweight and efficient SOAP client library for the Android platform |
Android Async Http |
An Asynchronous HTTP Library for Android |
Android SSL TrustKiller |
Bypass SSL certificate pinning for most applications |
Event Bus
Title |
Description |
Otto |
An enhanced Guava-based event bus with emphasis on Android support. |
http://square.github.io/otto/ |
|
EventBus |
Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality |
Tasks
Title |
Description |
Robospice * |
RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules |
Bolts Android |
Bolts is a collection of low-level libraries designed to make developing mobile apps easier |
Open GL
Title |
Description |
Android Page Curl |
An example application for creating page curl/flip effect on Android using OpenGL ES |
Dependency Injection
Title |
Description |
Butterknife |
View "injection" library for Android |
Testing
Title |
Description |
Robotium |
Like Selenium, but for Android |
Spoon |
Distributing instrumentation tests to all your Androids |
Fest Android |
A set of FEST assertion helpers geared toward testing Android |
Double Espresso |
A pure Gradle port of the Espresso testing utility for Android |
Reverse Engineering
Title |
Description |
JadX |
Dex to Java decompiler |
File Pickers
Title |
Description |
NoNonSense File Picker |
A file/directory-picker for android. Implemented as a library project |
Bluetooth
Title |
Description |
Android Bluetooth SPP |
Bluetooth Serial Port Profile which comfortable to developer application to communication with microcontroller via bluetooth |
Scan
Title |
Description |
ZXing |
Official ZXing ("Zebra Crossing") project home |
ZXing Android Minimal |
Port of the ZXing Android application as a minimal Android library project, for embedding in other Android applications |
ZXing Fragment |
Barcode scanner for Android fragments. Compatible with Android 2.1+ |
Barcode Scanner |
Barcode Scanner Libraries for Android |
Samples
Network
Tasks
Dependency Injection
Tools
Proguard
Title |
Description |
Facebook Proguard |
A faster fork of ProGuard. Based off of ProGuard 4.11 (http://sourceforge.net/p/proguard/code/ci/proguard4.11/tree/) |
Testing
Title |
Description |
Quality Tools for Android |
This is an Android sample app + tests that will be used to work on various project to increase the quality of the Android platform |
Log
Title |
Description |
Hugo |
Annotation-triggered method call logging for your debug builds |
Phone Home |
PhoneHome is a standalone library that sends logs from remote Android devices to a central server for debugging. PhoneHome requires nothing of end users |
Timber |
A logger with a small, extensible API which provides utility on top of Android's normal Log class. http://jakewharton.github.io/timber/ |
Debug Log |
Create a simple and more understandable Android logs |
Localization
Open Source Apps
Camera
P2P
Title |
Description |
Transdroid |
Manage your torrents from your Android device |
Chat
Title |
Description |
Conversations |
Conversations is an open source XMPP (formally known as Jabber) client for Android 4.0+ smart phones |
Text Secure |
A secure text messaging application for Android |
Pedometer
Title |
Description |
Step Counter |
A Step Counter for Android KitKat devices with Built-in Pedometers |
NFC
Title |
Description |
Farebot |
Read data from public transit cards using your NFC Android phone! |
Media
Title |
Description |
Mizuu |
Popular media indexer app for Android. http://mizuu.tv |
Exo Player |
Google Media Player Open Source project |
Other