There a quite a good number of third party libraries available in market now-days. 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.

Common Libraries:

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

Hugo –  Easier logging using annotations

LeakCanary – Catch memory leaks in your apps

Android Test Automation libraries: 

Now days demand for automation test script is increasing with increase of mobile apps in all area, everyone wants to check bug, defects to track easily

Name                                                                         Description

Espresso – A simple and effective android unit testing library , now day it comes as inbuilt in Android studio

Robolectric – Efficient unit testing for Android

The “advanced pack” listed below are additional libraries that are more advanced to use but are popular amongst some of the best Android teams. Note that these libraries may not be suitable for your first app. These advanced libraries include:

Name                                                                         Description

Dagger 2  –    A fast dependency injector for managing objects.

RxAndroid – Develop fully reactive components for Android.

Otto –  Android event bus for easier component communication.

AndroidAnnotations – Powerful annotations to reduce boilerplate code.

Mixing of these library is always not a good choice, few example are:

Volley and Volley Plus

ButterKnife and Parceler

Using the Butterknife library with the Parceler library causes multiple declarations of javax.annotation.processing.Processor. In this case, you have to exclude this conflict in yourapp/build.gradle file:

   packagingOptions {
        exclude 'META-INF/services/javax.annotation.processing.Processor'  // butterknife
    }

ButterKnife and Custom Views

Often you may find that using ButterKnife or Dagger injections defined in your constructor prevent Android Studio to preview your Custom View layout. You may see an error about needingisEditMode() defined. Essentially this method is used to enable your code to short-circuit before executing a section of code that might be used for run-time but cannot be executed within the preview window.

  public ContentEditorView(Context context, AttributeSet attrs) {
        super(context, attrs);

        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        inflater.inflate(R.layout.view_custom, this, true);

        // short circuit here inside the layout editor
        if(isInEditMode()) {
            return;
        }

        ButterKnife.bind(this);

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.
  • Chronos – Android library that handles asynchronous jobs.
  • 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.
  • Fresco – An image management library from Facebook.

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.
  • Akatsuki – Handles instance state restoration via annotations
  • 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
  • AboutLibraries – Automatically generates an About this app section, with a list of used libraries
  • 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 Job Queue – Easier background tasks
  • ACRA – Crash reporting made easy and free. Check the setup instructions and open-source backend.

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
  • Cardslib – Card UI for Lists or Grids
  • 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.
  • Paginated Table – This is a table which allows dynamic paging for any list of objects. Icons can be added to columns as well as custom items such as check boxes and buttons.

RecyclerView

Easy Navigation

  • PagerSlidingTabStrip – An interactive indicator to navigate between the different pages of a ViewPager.
  • 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
  • MaterialDrawer – Easily add a Navigation Drawer with Material style and AccountSwitcher

UI Components

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

Persistence

Scrolling and Parallax

This is a list of popular scrolling and parallax libraries:

Debugging

  • Stetho – A debug bridge for Android applications which could be used for multiple purposes not limited to Network Inspection, Database Inspection and Javascript Console.

Resources

Check out the following resources for finding libraries:

URL for specific data

Advertisements