Awesome Android Open Source

Over the years I have used a large amount of open source libraries in my Android applications. When deciding on the topic for a presentation I wanted to give at Android Alliance Philadelphia I thought it would be very helpful for people new to Android development to learn what common libraries there are out there. This is meant to be a fairly conclusive list of the most used open source libraries that I find myself using time and time again.

The presentation that was given can be found
here.


Core Libraries


ActionBarSerlock
ActionBarSherlock is an extension of the support library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API.

Android Support Library
Includes Backwards Compatible: Fragments, Notifications, View Pager, Sliding Layout, Accessibility, Loaders

View Pager
Backwards compatible view paging with customizable tabs.

NineOldAndroids
Android library for using the Honeycomb (Android 3.0) animation API on all versions of the platform back to 1.0!

HoloEverywhere
Bringing Holo Theme from Android 4.1 to 2.1 and above.

Otto
An enhanced Guava-based event bus with emphasis on Android support.
Otto is an event bus designed to decouple different parts of your application while still allowing them to communicate efficiently.

Downloaders


Android-Universal-Image-Loader
This project aims to provide a reusable instrument for asynchronous image loading, caching and displaying. It is originally based on Fedor Vlasov's project and has been vastly refactored and improved since then.


OkHttp
OkHttp is an HTTP client that’s efficient by default:
  • SPDY support allows all requests to the same host to share a socket.
  • Connection pooling reduces request latency (if SPDY isn’t available).
  • Transparent GZIP shrinks download sizes.
  • Response caching avoids the network completely for repeat requests.

Volley
Volley is a library that makes networking for Android apps easier and most importantly, faster.
Video Tutorial

Picasso
Images add much-needed context and visual flair to Android applications. Picasso allows for hassle-free image loading in your application—often in one line of code!

UI


AndroidViews
Large collection of open source UI libraries organized nicely


App Rater
Allows your users to rate your application.
Shows a customizable rate dialog according to your chosen settings.


Asset Studio
Icon Generators
  • Launcher icons
  • Action bar and tab icons
  • Notification icons
  • Navigation drawer indicator
  • Generic icons

Other Generators
  • Device frame generator
  • Simple nine-patch generator

Community Tools
  • Android Action Bar Style Generator
  • Android Holo Colors Generator

Graphics Packs
Collection of stencils and action bar icon that can be used in your app

New User Experience


Showcase View
The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with a distinctive and attractive overlay. This library is great for pointing out points of interest for users, gestures, or obscure but useful items.


ckChangeLog
This library provides an easy way to display a change log in your app.


Sliding Menus


https://github.com/jfeinstein10/SlidingMenu
http://developer.android.com/training/implementing-navigation/nav-drawer.html
https://github.com/SimonVT/android-menudrawer
https://github.com/eddieringle/android-undergarment


Data Processing


GSON
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object.

Jackson
High-performance JSON processor.
Now also supports XML.
Good Tutorial

Parcelabler
Auto generates the parcelable implementation for a java class.
Very useful when you want to be able to pass an object in a bundle.

Does this sort of work sound interesting to you? We are looking for great Android Developers. Apply now!
blog comments powered by Disqus