Skip to content

Most visited

Recently visited

navigation

Biblioteca de compatibilidad

En la biblioteca de compatibilidad de Android se ofrecen varias funciones que no vienen integradas al framework. Estas bibliotecas ofrecen versiones de funciones nuevas que son compatibles con versiones anteriores, proporcionan elementos de IU útiles que no se incluyen en el framework y ofrecen diferentes utilidades a las cuales las apps pueden recurrir.

Información general

En muchos casos, una función puede ser valiosa para varios desarrolladores de apps, pero incluirla en el framework de Android puede ser incorrecto. Por ejemplo, una app puede necesitar una función para casos de usos especializados, como para suavizar la transición entre diferentes versiones del sistema Android.

Para adecuarse a estas situaciones, el Android SDK incluye varias bibliotecas de modo colectivo denominadas bibliotecas de compatibilidad de Android. Los desarrolladores de apps pueden incluir cualquiera de estas bibliotecas si desean incorporar la funcionalidad de estas en sus apps.

Las bibliotecas de compatibilidad ofrecen diferentes funciones:

Compatibilidad con versiones anteriores

Figura 1: Debido a que esta app usa elementos de IU de la biblioteca de compatibilidad, su interfaz incorpora principios de material design aunque se use en Android 4.4, que no incluye compatibilidad nativa con material design.

Las bibliotecas de compatibilidad permiten que las app se ejecuten en versiones anteriores de la plataforma de Android para admitir funciones disponibles en versiones más nuevas de la plataforma. Por ejemplo, una app que se ejecuta versiones de Android anteriores a la 5.0 (nivel de API 21) y se basa en clases de framework no puede mostrar elementos de material design, ya que esa versión del framework de Android no lo admite. Sin embargo, si la app incorpora la biblioteca appcompat de la biblioteca de compatibilidad, tendrá acceso a muchas funciones disponibles en el nivel de API 21, incluida la compatibilidad con material design. Como resultado, tu app puede brindar una experiencia más uniforme en una amplia variedad de versiones de plataformas.

En algunos casos, la versión de la biblioteca de compatibilidad de una clase depende, en la medida en que sea posible, de la funcionalidad que el framework proporciona. En estos casos, si una app llama a uno de los métodos de la clase de compatibilidad, el comportamiento de la biblioteca de compatibilidad depende de la versión de Android en la que se use la app. Si el framework proporciona la funcionalidad necesaria, la biblioteca de compatibilidad llama al framework para realizar la tarea. Si la app se usa en una versión anterior de Android y el framework no expone la funcionalidad necesaria, la biblioteca de compatibilidad puede intentar proporcionar la funcionalidad por sí misma, o puede actuar como no-op. En cualquier caso, la app generalmente no necesita verificar la versión de Android en la que funciona. En cambio, puede recurrir a la biblioteca de compatibilidad para realizar esas verificaciones y elegir el comportamiento apropiado. En general, las clases cuyos nombres terminan en …Compat (como ActivityCompat) se comportan de este modo.

En otros modos, la clase de la biblioteca de compatibilidad proporciona una versión completa independiente de una clase de framework que no depende de la disponibilidad de ninguna API de framework. Estos métodos proporcionan un comportamiento uniforme en todas las plataformas compatibles.

En cualquier caso, la app no necesita verificar la versión del sistema en el tiempo de ejecución. Puede recurrir a la clase de biblioteca de compatibilidad para realizar las verificaciones de sistema correspondientes y modificar su comportamiento cuando sea necesario.

Compatibilidad con patrones de diseño generales

Las bibliotecas de compatibilidad proporcionan elementos de interfaz de usuario que no ofrece el framework de Android. Por ejemplo, la biblioteca de compatibilidad de Android ofrece clases de diseño adicionales, como DrawerLayout. Estas clases siguen las prácticas recomendadas de diseño de Android; por ejemplo, la biblioteca Design sigue los principios de material design de un modo que propicia el funcionamiento en muchas versiones de Android.

Al usar estas clases de bibliotecas de compatibilidad, puedes evitar crear algo que ya existe. Si tu app tiene un requisito particular de interfaz de usuario, puedes recurrir a un código que ya exista y proporcione una interfaz de usuario que los usuarios ya conozcan. Estos elementos también te pueden ayudar a crear una app que se vea y se perciba como parte del ecosistema de Android. Por ejemplo, muchas app deben mostrar de modo arbitrario listas largas de elementos y también volver a usar de modo rápido y eficiente esos elementos a medida que la lista cambie. Esta lista puede contener correos electrónicos, contactos, álbumes de música, etc. Esas apps pueden usar el widget de la biblioteca de compatibilidad RecyclerView para mostrar la lista. Esto evita que el desarrollador de apps deba desarrollar la lista desde el comienzo, y también garantiza que el usuario vea una lista que tenga el aspecto y el comportamiento de una lista de otra app.

Compatibilidad con diferentes factores de forma

El Android SDK proporciona bibliotecas para varios factores de forma diferentes, como TV y wearables. Una app puede depender de una biblioteca de compatibilidad apropiada para la funcionalidad en una amplia variedad de versiones de plataformas, y también proporcionar contenido en pantallas externas, altavoces y otros dispositivos de destino.

Utilidades generales

La biblioteca de compatibilidad de Android proporciona funciones de utilidad compatibles con versiones anteriores. Las apps pueden usar estas funciones de utilidades para proporcionar una experiencia de usuario apropiada en una amplia variedad de versiones del sistema Android. Por ejemplo, los métodos de permisos de la biblioteca de compatibilidad se comportan de modo apropiado según la versión de la plataforma en la que se use tu app. Si la plataforma admite el modelo de permisos de tiempo de ejecución, estos métodos solicitan el permiso apropiado por parte del usuario. En las versiones de la plataforma que no admiten el modelo de permisos de tiempo de ejecución, los métodos verifican si se otorgó el permiso apropiado en el momento de la instalación.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)