with tutorial started start jetpack how example español android android-architecture-components android-jetpack androidx

tutorial - how to use android jetpack



¿Qué es AndroidX? (5)

AndroidX - Biblioteca de extensiones de Android

De la documentación de AndroidX.

Estamos implementando una nueva estructura de paquetes para aclarar qué paquetes se incluyen con el sistema operativo Android y cuáles con la APK de su aplicación. En adelante, la jerarquía de paquetes de Android. * Se reservará para los paquetes de Android que se envían con el sistema operativo. Se emitirán otros paquetes en la nueva jerarquía de paquetes de androidx. * Como parte de la biblioteca de AndroidX.

Necesidad de AndroidX

AndroidX es una biblioteca rediseñada para que los nombres de los paquetes sean más claros. Por lo tanto, a partir de ahora, la jerarquía de Android será solo para las clases predeterminadas de Android, que vienen con el sistema operativo Android. y otras bibliotecas / dependencias serán parte de androidx (Tiene más sentido). Así que a partir de ahora todo el nuevo desarrollo se actualizará en androidx.

com.android.support. **: androidx.
com.android.support:appcompat-v7: androidx.appcompat: appcompat com.android.support:recyclerview-v7: androidx.recyclerview: recyclerview com.android.support:design: com.google.android.material: material

Correlaciones de artefactos completas para paquetes de AndroidX

AndroidX usa Semantic-version

Anteriormente, la support library usa la versión del SDK, pero AndroidX usa la Semantic-version . Va a volver a la versión de 28.0.0 → 1.0.0.

Como migrar el proyecto actual.

En Android Studio 3.2 (septiembre de 2018), existe una opción directa para migrar el proyecto existente a AndroidX . Esto refractará todos los paquetes automáticamente.

Antes de migrar, se recomienda encarecidamente realizar una copia de seguridad de su proyecto.

Proyecto existente

  • Android Studio> Menú Refactor> Migrar a AndroidX ...
  • Se analizará y se abrirá la ventana del refractor en la parte inferior. Aceptar los cambios a realizar.

Nuevo proyecto

Pon estas banderas en tu gradle.properties

android.enableJetifier=true android.useAndroidX=true

Revise las asignaciones de @ Library para un paquete igual de AndroidX .

Check @ Página oficial de Migrate to AndroidX

¿Qué es Jetifier?

Errores de la migración

  • Si crea una aplicación y encuentra algunos errores después de la migración, debe corregir esos errores menores. No te quedarás atascado allí, porque eso se puede arreglar fácilmente.
  • Las bibliotecas de terceros no se convierten a AndroidX en el directorio, pero se convierten en tiempo de ejecución con Jetifier , así que no se preocupe por los errores de compilación, su aplicación se ejecutará perfectamente.

¿Soporte 28.0.0 es el último lanzamiento?

Desde la revisión de soporte de Android 28.0.0

Esta será la última versión de la característica en el paquete android.support , y se recomienda a los desarrolladores que migren a AndroidX 1.0.0

Así que ve con AndroidX, porque Android actualizará solo el paquete androidx a partir de ahora.

Otras lecturas

https://developer.android.com/topic/libraries/support-library/androidx-overview

https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

Estoy leyendo acerca de la biblioteca de la sala de Android. Veo que cambiaron el paquete de android a androidx . No entendí eso. Alguien explique por favor.

implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version"

Incluso esto está disponible con el paquete de android también.

implementation "android.arch.persistence.room:runtime:$room_version" annotationProcessor "android.arch.persistence.room:compiler:$room_version"

  • Lo que se necesitaba para empaquetar nuevas bibliotecas de soporte en androidx en lugar de android .
  • Caso de uso y factores de afecto en proyectos existentes.

Basado en la developer.android.com/topic/libraries/support-library/… :

androidx es una nueva estructura de paquetes para aclarar qué paquetes se incluyen con el sistema operativo Android y cuáles se empaquetan con la APK de su aplicación. En el futuro, la jerarquía de paquetes de android. * Se reservará para los paquetes de Android que se envían con el sistema operativo; otros paquetes se emitirán en la nueva jerarquía de paquetes de androidx. *.

La estructura del paquete rediseñada es para alentar bibliotecas más pequeñas y más enfocadas. Aquí encontrará detalles sobre las asignaciones de artefactos.

Existen bibliotecas de soporte (que contienen componentes y paquetes para compatibilidad con versiones anteriores) denominadas "v7" cuando el nivel mínimo de SDK admitido es 14, la nueva denominación deja en claro la división entre las API incluidas en la plataforma y las bibliotecas para los desarrolladores de aplicaciones que se utilizan En diferentes versiones de Android. Puede consultar el https://android-developers.googleblog.com/2018/05/hello-world-androidx.html para más detalles.


Es igual que las versiones de soporte de AppCompat, pero tiene menos problemas con las versiones v4 y v7, por lo que es de mucha ayuda utilizar los diferentes componentes de los elementos XML de Android.


Este artículo Android Jetpack: ¿Qué significan los anuncios recientes para la biblioteca de soporte de Android? lo explica bien

Hoy en día, muchos consideran que la biblioteca de asistencia es una parte esencial del desarrollo de aplicaciones de Android, hasta el punto en que la usa el 99% de las aplicaciones en la tienda Google Play. Sin embargo, a medida que la biblioteca de soporte ha crecido, se han originado inconsistencias en torno a la convención de nombres de la biblioteca.

Inicialmente, el nombre de cada paquete indicaba el nivel mínimo de API admitido por ese paquete, por ejemplo, support-v4. Sin embargo, la versión 26.0.0 de la biblioteca de soporte aumentó la API mínima a 14, por lo que hoy en día muchos de los nombres de paquetes no tienen nada que ver con el nivel mínimo de API admitido. Cuando los paquetes support-v4 y support-v7 tienen una API mínima de 14, ¡es fácil ver por qué la gente se confunde!

Para aclarar esta confusión, Google está actualmente refactorizando la Biblioteca de asistencia en una nueva estructura de paquetes de la biblioteca de extensiones de Android (AndroidX). AndroidX incluirá nombres de paquetes simplificados, así como los Id. De grupo y artefactos de Maven que reflejen mejor el contenido de cada paquete y sus niveles de API admitidos.

Con la convención de nomenclatura actual, tampoco está claro qué paquetes se incluyen con el sistema operativo Android y cuáles se empaquetan con el APK de la aplicación (Paquete de paquetes de Android). Para aclarar esta confusión, todas las bibliotecas desagregadas se moverán al espacio de nombres androidx. * De AndroidX, mientras que la jerarquía de paquetes de android. * Se reservará para los paquetes que se envían con el sistema operativo Android.


AndroidX es el proyecto de código abierto que el equipo de Android utiliza para desarrollar, probar, empaquetar, lanzar y lanzar bibliotecas dentro de Jetpack .

AndroidX es una mejora importante para la biblioteca de soporte original de Android . Al igual que la biblioteca de soporte, AndroidX se envía por separado del sistema operativo Android y ofrece compatibilidad con versiones anteriores en todas las versiones de Android. AndroidX reemplaza completamente a la biblioteca de soporte al proporcionar paridad de funciones y nuevas bibliotecas.

AndroidX incluye las siguientes características:

  • Todos los paquetes en AndroidX viven en un espacio de nombres consistente comenzando con la cadena androidx. Los paquetes de la biblioteca de soporte se han asignado a los paquetes correspondientes de androidx. *. Para un mapeo completo de todas las clases antiguas y artefactos de compilación a los nuevos, vea la página Refactorización de paquetes.

  • A diferencia de la biblioteca de soporte, los paquetes de AndroidX se mantienen y actualizan por separado. Los paquetes de androidx utilizan Versiones Semantic Versioning estrictas a partir de la versión 1.0.0. Puede actualizar las bibliotecas de AndroidX en su proyecto de forma independiente.

  • Todo el nuevo desarrollo de la biblioteca de soporte tendrá lugar en la biblioteca de AndroidX. Esto incluye el mantenimiento de los artefactos originales de la biblioteca de soporte y la introducción de nuevos componentes Jetpack.

Utilizando AndroidX

Consulte Migración a AndroidX para saber cómo migrar un proyecto existente.

Si desea utilizar AndroidX en un nuevo proyecto, debe configurar el SDK de compilación en Android 9.0 (nivel de API 28) o superior y configurar las siguientes banderas del complemento de Android Gradle en verdadero en su archivo gradle.properties .

  • android.useAndroidX : cuando se establece en verdadero, el complemento de Android utiliza la biblioteca de AndroidX adecuada en lugar de una biblioteca de soporte. La bandera es falsa por defecto si no se especifica.

  • android.enableJetifier : cuando se establece en verdadero, el complemento de Android migra automáticamente las bibliotecas de terceros existentes para usar AndroidX reescribiendo sus archivos binarios. La bandera es falsa por defecto si no se especifica.

Para mapeos de artefactos vea this