Support Libraries in Android

The Android Support Library is a collection of libraries with lots of levels of API, that help in focusing the unique parts of an app. We listed some of its uses;

  • Support libraries in android are used to provide backward-compatible versions of Android framework APIs.
  • It helps us to use the features available on latest APIs and still compatible with devices with lower level APIs.
  • Use of android support libraries is considered as a best approach while creating Android applications.
  • The Android Support Library package contains several libraries that can be included in our application.

Lets see some of the most common libraries provided by android

1. v4 Support Library :

This library is designed to be used with Android 1.6 (API level 4) and higher. It includes the largest set of APIs compared to the other libraries, including support for application components, user interface features, accessibility, data handling, network connectivity, and programming utilities.

App Components:

  • Fragment
  • NotificationCompat
  • LocalBroadcastManager

User Interface:

  • ViewPager
  • PagerTitleStrip
  • PagerTabStrip
  • Drawer Layout
  • SlidingPaneLayout

Accessibility:

  • ExploreByTouchHelper
  • AccessibilityEventCompat
  • AccessibilityNodeinfocompat
  • AccessibilityNodeProviderCompat
  • AccessibilityDelegateCompat

Content:

  • Loader
  • FileProvider

2. Multidex Support Library:

This library provides support for building apps with multiple Dalvik Executable (DEX) files. Apps that reference more than 65536 methods are required to use multidex configurations.

3. v7 Support Libraries:

There are several libraries designed to be used with Android 2.1 (API level 7) and higher.These libraries depends on v4 support libraries.

v7 appcompat library:

  • ActionBar
  • AppCompatActivity
  • AppCompatDialog
  • ShareActionProvider

v7 cardview library:

  • This library adds support for the CardView widget.

v7 gridlayout library:

  • This library adds support for the GridLayout class.

v7 mediarouter library:

The mediarouter library provide a means of controlling the routing of media channels and streams from the current device to external screens, speakers, and other destination devices.

v7 palette library:

  • The v7 palette support library lets you extract prominent colors from an image.

v7 recyclerview library:

  • The recyclerview library adds the RecyclerView class which provides support for the RecyclerView widget, a view for efficiently displaying large data sets by providing a limited window of data items.

v7 Preference Support Library:

  • The preference package provides APIs to support adding preference objects, such as CheckBoxPreference and ListPreference, for users to modify UI settings.

4. v8 Support Library:

  • This library is designed to be used with Android 2.2 (API level 8) and higher.

v8 renderscript library:

  • It adds support for the RenderScript computation framework

5. v13 Support Library:

  • This library is designed to be used for Android 3.2 (API level 13) and higher.
  • It adds support for the Fragment user interface pattern with the (FragmentCompat) class and additional fragment support classes.

6. v14 Preference Support Library:

  • The android.support.v14.preference package provides APIs to add support for preference interfaces such as PreferenceFragment.OnPreferenceStartFragmentCallback and PreferenceFragment.OnPreferenceStartScreenCallback, along with classes, such as MultiSelectListPreference and PreferenceFragment

7. v17 Preference Support Library for TV:

  • The android.support.v17.preference package provides APIs for providing preference interfaces on TV devices.

v17 Leanback Library:

  • BrowseFragment.
  • DetailsFragment.
  • PlaybackOverlayFragment.
  • SearchFragment.

8. Annotations Support Library:

  • The Annotation package provides APIs to support adding annotation metadata to your apps.

9. Design Support Library:

  • The Design Support library adds support for various material design components and patterns for app developers to build upon, such as navigation drawers, floating action buttons (FAB), snackbars, and tabs.

10. Custom Tabs Support Library:

  • The Custom Tabs package provides APIs to support adding and managing custom tabs in your apps.

11. Percent Support Library:

  • The Percent package provides APIs to support adding and managing percentage based dimensions in your app.

12. App Recommendation Support Library for TV:

  • The App Recommendation package provides APIs to support adding content recommendations in your app running on TV devices.

STEPS IN DOWNLOADING SUPPORT LIBRARIES:

  1. Start the android SDK Manager.
  1. In the SDK Manager window, scroll to the end of the Packages list, find the Extras folder.
  1. Select the Android Support Library item.
  1. Click the Install packages button.

———————————————

ADDITIONAL LIBRARIES AVAILABLE FOR ANDROID

1. Google Play Services :

  • To develop an app using the Google Play services APIs, you must add Google Play services Library to your app.
  • To develop an app using the Google Play services APIs, you need to set up your project with the Google Play services SDK.
  • It helps us to use all the services provided by google in our Application.

2. GSON :

  • GSON is a JSON parsing library developed by Google, to quickly parse the JSON into Java objects with very minimal work required.

3. JODA :

  • Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API.

4. NINE OLD ANDROIDS:

  • Android library for using the Honeycomb (Android 3.0) animation API on all versions of the platform back to 1.0!
  • Animation prior to Honeycomb was very limited in what it could accomplish so in Android 3.x a new API was written. With only a change in imports, we are able to use a large subset of the new-style animation with exactly the same API.
  • This library also includes support for animating rotation, translation, alpha, and scale on platforms prior to Honeycomb!

5. PICASSO :

  • Picasso is open source and one of the widely used image downloader library in Android.
  • It simplifies the process of loading images from external urls and display on your application.

6.OTTO :

  • Otto is an event bus designed to decouple different parts of your application while still allowing them to communicate efficiently.
  • Forked from Guava, Otto adds unique functionality to an already refined event bus as well as specialising it to the Android platform.
  • Otto is a great way to communicate between your activity and fragments or to communicate between an activity and a service.

7. SLF4J :

  • The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks allowing the end user to plug in the desired logging framework at deployment time.

8. CROUTON:

  • One way to notify users is to use Toasts. But Toasts have the problem that they might pop up in totally unrelated contexts. They are displayed for a defined duration on the screen no matter what the user does. The user might even have changed the app, with the result, that your Toast simply confuses the user.
  • To overcome these we use crouton libraries which are customisable.

9. BUTTER KNIFE:

  • Butterknife is a light weight library to inject views into Android components.
  • The @Bind annotation allow to inject views and performs the cast to the correct type for you. The @@OnClick(R.id.yourid) annotation allows to add OnClickListener to a view. You can optional define the method parameter of the view in case you want it injected.

10. GUAVA :

  • Guava is an open source, Java based library developed by Google. It facilitates best coding practices and helps reduce coding errors. It provides utility methods for collections, caching, primitives support, concurrency, common annotations, string processing, I/O, and validations.

11. OKHTTP :

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

12. DAGGER :

  • Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier version created by Square and now maintained by Google.
  • Dagger aims to address many of the development and performance issues that have plagued reflection-based solutions.

Conclusion : 

The goal of using android support library is to simplify our development by offering more APIs that we can bundle with our application so we can worry less about platform versions.

Android Team,
Mallow Technologies.

Leave a Reply

%d bloggers like this: