The ultimate list of tools and libraries for Android development — {link} -

I recently finished an Android App that uses Google Places API to show cyclists that visit Amsterdam where the nearest bike shop, hotel, atm are while working on this app I did research into Android Libraries and other Android resources, I kept a list of the libraries that I found interesting.

Depending on what you are looking for like a maps library, chart library, or a GUI interface, I have listed what I found below and you can visit the respective links to get a copy or read more. Here is the list of libraries.

Maps

Google Places

Charts

GUI

  • Pull to refresh — A swipe refresh layout is available in the v4 support library.
  • Cardslib — Android Library to build a UI Card.
  • AndroidStaggeredGrid — An Android staggered grid view which supports multiple columns with rows of varying sizes.
  • AQuery — A light-weight library for doing asynchronous tasks and manipulating UI elements in Android.
  • Flow — A small library that helps with describing an app as a collection of moderately independent screens.
  • Crouton — Context sensitive notifications for Android.
  • DragSortListView — Android ListView with drag and drop reordering.
  • MaterialProgressBar — Material design ProgressBar with consistent appearance.
  • AndroidFillableLoaders — Android fillable progress view working with SVG paths.
  • NexusDialog — Library that allows you to easily and quickly create forms in Android with little code.

Ads Network

  • AdMob — AdMob is a mobile advertising company

Backend

  • Parse — Build your app on any platform.

ActionBar

  • ActionBarSherlock — 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.
  • FadingActionBar — Library implementing a fading effect for the action bar, similar to the one found in the Play Music app

Inputs

  • Emojicon — Adds emoticons to your app.
  • FloatingLabel — FloatingLabel Allows you to create a blow kind of EditText. Doesn’t have Gradle or Maven Support.
  • MaterialEditText — Supporting Floating Labels, Single Line Ellipsis, Max/Min Characters, Helper Text and Error Text with Custom Colors.

Navigation

  • MaterialDrawer — Simple take on a material design navigation drawer.
  • PagerSlidingTabStrip — An interactive indicator to navigate between the different pages of a ViewPager.
  • Page View indicator — Support for horizontally scrolling ViewPager.
  • SlidingMenu — Library to create applications with slide-in menus.
  • SlidingTutorial — Simple library that helps to create awesome sliding android app tutorials.

Animations

Images

Loading Images

  • Fresco — An Android library for managing images and the memory they use.
  • Glide — An image loading and caching library for Android focused on smooth scrolling, Recommended by google.
  • Picasso — A powerful image downloading and caching library for Android.
  • Universal Image Loader — Asynchronous, out of the box loading and caching of images.

Notifications

Communication

  • Sinch — Use the Sinch APIs to enhance your app with Voice, SMS, Verification, Video, and Instant Messaging.

[Tweet “The ultimate list of tools and libraries for Android development”]

Database

  • DbInspector — Android library for viewing and sharing in-app databases.
  • Realm — Realm is a mobile database, a replacement for SQLite & ORMs
  • RestorableSQLiteDatabase — A wrapper to replicate android’s SQLiteDatabase with restoring capability.

ORM

  • ActiveAndroid — Active record style ORM.
  • DBFlow — Fast and powerful ORM with compile-time annotation processing.
  • NexusData — Object graph and persistence framework for Android.
  • ORMLite — Lightweight ORM Java package for JDBC and Android.
  • Sugar ORM — Insanely easy way to work with Android Databases.

REST

  • Retrofit — Retrofit turns your REST API into a Java interface.

JSON

  • Gson — A Java serialization library that can convert Java Objects into JSON and back.

Testing

  • AssertJ Android — AssertJ assertions geared towards Android.
  • Robotium — Android UI Testing.
  • Roboletric — Unit test framework to run tests inside the JVM on your workstation, not in the emulator.

[Tweet “The ultimate list of tools and libraries for Android development”]

Tracking

  • Mixpanel — Analytics platform to analyze the users.
  • MobileAppTracking — Tracking your marketing campaigns across multiple ad networks.

Utility

  • Byte Buddy — Runtime code generation library with support for Android.
  • EventBus — EventBus is a library that simplifies communication between different parts of your application.
  • Otto — Event Bus for Android.
  • Weak handler — Memory safer implementation of android.os.Handler.

Crash monitoring

  • Bugsnag — Cross-platform error monitoring.
  • Crashlytics — Easy crash reporting solution.
  • Splunk MINT — Monitoring, Crash Reports, Real-time data, Statistic.

Networking

  • Android Volley — Official Android HTTP library that makes networking easier and faster.
  • Asynchronous Http Client — An Asynchronous HTTP Library.
  • IceNet — Fast, Simple and Easy Networking for Android
  • Ion — Good networking library for Android.
  • IceSoap — Easy, asynchronous, annotation-based SOAP for Android.
  • OkHttp — An HTTP+SPDY client for Android and Java applications.
  • node-android — Run Node.js on Android.
  • RoboSpice — library that makes writing asynchronous network requests easy.

Wireless

  • SmartGattLib — SmartGattLib is a Java library that simplifies the work with Bluetooth SMART devices.

Dependency Injection

Performance

Game Development

  • Libgdx — Cross-platform game engine and SDK. Open Source
  • Rajawali — Android OpenGL ES 2.0/3.0 Engine.
  • Unity — Cross-platform game engine for mobile.
  • Vuforia — Augmented Reality library.

Worth Mentioning

Resources

  • Android Design in Action Video series The video series by Android Design Team of Google.
  • Android DevBytes Video Series — It is the technical counterpart of Android Design in Action series.

Alternative development framework

Android development may not be enough for you, there are other alternatives, especially where cross-platform development can be useful. If you have an app or developing one and want to reach as many devices and platforms, you should consider cross-platform development. There are several options available to you, you can use C# or HTML, CSS and Javascript to build an app, here is some suggestion:

  • Anko — Anko is a library that makes Android application development faster and easier.
  • Apache Cordova — Cordova-based applications are, at the core, applications written with web technology: HTML, CSS, and JavaScript.
  • Corona SDK — Framework to create native iOS and Android Apps (especially Games).
  • Groovy on Android — Introduction to Groovy on Android.
  • Groovy Language Support for Android — A Gradle plugin to support the Groovy language for building Android apps
  • Ionic Framework — A framework to build hybrid apps with mobile-optimized HTML, CSS and JS with AngularJS.
  • Macroid — A modular functional UI language for Android.
  • NativeScript — An open-source framework to build native iOS and Android apps with JavaScript from a single code base.
  • PhoneGap — Open source framework by Adobe to create cross-platform mobile apps using HTML, CSS, and JavaScript.
  • React Native — A framework for building native apps with React by Facebook.
  • Reapp.io — Cordova-based framework to build hybrid apps with mobile-optimized HTML, CSS, and JS with ReactJS.
  • Scaloid — Library for less painful Android development with Scala.
  • SwissKnife — A multi-purpose library containing view injection and threading for Android using annotations.
  • Titanium — Open-source framework to create ‘native’ cross-platform apps using JavaScript.
  • Xamarin — Framework to create native iOS, Android, Mac and Windows apps in C#.

- Torbjorn Zetterlund

I am hands-on in that I set up, deploy, develop concepts around Cloud services to push and provide a deep understanding of the technical challenges.