Las librerías de compatibilidad (support library)

Tal y como se ha descrito, la filosofía tradicional de Android ha sido que las novedades que aparecen en una API solo puedan usarse en dispositivos que soporten esa API. Como acabamos de ver, la fragmentación de las versiones de Android es muy grande, es decir, actualmente podemos encontrar dispositivos con una gran variedad de versiones. Con el fin de que la aplicación pueda ser usada por el mayor número posible de usuarios hemos de ser muy conservadores a la hora de escoger la versión mínima de API de nuestra aplicación. La consecuencia es que las novedades que aparecen en las últimas versiones de Android no pueden ser usadas.

En la versión 3.0 aparecieron importantes novedades que Google quería que se incorporaran en las aplicaciones lo antes posible (fragments, nuevas notificaciones, etc.). Con este fin creó las librerías de compatibilidad para poder incorporar ciertas funcionalidades en cualquier versión de Android. Veamos algunas de ellas:

  video[Tutorial] Las librerías de compatibilidad  (suport library)

v4 Support Library

Esta librería permitía utilizar muchas clases introducidas en la versión 3.0 cuando trabajamos con un API mínimo anterior. En la actualidad ya no es necesaria utilizarla, dado que ya es recomendable utilizar como API mínimo la versión 4.0 o incluso superior. Puede usarse en una aplicación con nivel de API 4 (v1.6) o superior. Incorpora las clases: Fragment, NotificationCompat, LocalBroadcastManager, ViewPager, PagerTitleStrip, PagerTabStrip, DrawerLayout, SlidingPaneLayout, ExploreByTouchHelper, Loader y FileProvider. Para más información, consúltese la referencia de android.support.v4.

v7 Libraries

Se incluyen las siguientes librerías que pueden usarse a partir del  API 7 (v2.1):

  •  *v7 appcompat library: Permite utilizar un IU basado en la Barra de Acciones siguiendo especificaciones de material design. Se añade por defecto cuando creamos un nuevo proyecto. Incorpora las clases: ActionBar, AppCompatActivity, AppCompatDialogy ShareActionProvider.
  •  *v7 recyclerview library: Incorpora la vista RecyclerView, una versión mejorada que reemplaza a ListView y GridView.
  • *v7 cardview library: Incorpora la vista CardView, una forma estandar de mostrar información especialmente útil en Android Wear y TV.
  • *v7 gridlayout library: Incorpora el layout GrigLayout
  • *v7 preference support library: Incorpora las clases CheckBoxPreference y ListPreference usadas en preferencias.
  • *v7 palette library: Incorpora la clase Palette, que permite extraer los colores principales de una imagen.
  • *v7 mediarouter library: Da soporte a Google Cast.

v8 Support Library

Añade soporte para utilizar RenderScript. Esta API permite paralelizar tareas en dispositivos con varias CPU o entre la CPU y la GPU. Esto resulta especialmente útil en el procesado de imágenes. 

v13 Support Library

Un helper da soporte a la clase FragmentCompat para acceder a varias características de un fragment.

v14 Preference Support Library

Permite incorporar las últimas novedades incluidas en las preferencias. Define las clases MultiSelectListPreference y PreferenceFragment.

v17 Preference Support Library for TV

Incorpora preferencias para TV.

v17 Leanback Library

Incorpora importantes widgets usados en aplicaciones para TV: BrowseFragment, DetailsFragment, PlaybackOverlayFragment y SearchFragment.

Design Support Library

Librería que incorpora varios componentes de material design.

PercentSupport Library

Podemos utilizar dimensiones basadas en porcentajes en nuestros diseños.

Annotations Support Library

Permite añadir metadatos al código fuente disponibles en tiempo de ejecución.

Custom TabsSupport Library

Permite el diseño personalizado de interfaces de usuario basados en pestañas.

App Recommendation Support Library for TV

Recomendaciones de contenido en aplicaciones para TV.

Preguntas de repaso: Elegir una versión de Android