Si quieres usar Jetpack Compose en un proyecto existente, tendrás que configurar el proyecto con las opciones de configuración y las dependencias requeridas.
Cómo configurar tu entorno de desarrollo
Instala la versión correcta de Android Studio
Para obtener la mejor experiencia de desarrollo con Jetpack Compose, debes descargar Android Studio y configurar el complemento de Android para Gradle correspondiente a la versión de Android Studio:
buildscript {
...
dependencies {
classpath "com.android.tools.build:gradle:7.4.1"
...
}
}
Cómo configurar Kotlin
Asegúrate de usar Kotlin 1.8.10 en tu proyecto:
plugins {
id 'kotlin-android'
}
Cómo configurar Gradle
Debes establecer el nivel mínimo de API de tu app en 21 o más, habilitar Jetpack Compose en el archivo build.gradle
de la app y agregar las dependencias de la biblioteca, como se muestra en la Guía de inicio rápido.
Cómo volver a usar el tema de View en Compose
Si acabas de agregar Compose a tu proyecto, es posible que quieras que Compose herede los temas disponibles en el sistema View, en lugar de volver a escribir tu propio tema de Material en Compose desde cero.
Si utilizas la biblioteca de MDC en tu app para Android, la biblioteca de MDC Compose Theme Adapter te permitirá volver a usar fácilmente el color, la tipografía y la forma de tus temas existentes basados en View en tus elementos componibles. Puedes hacerlo con la API de MdcTheme
.
En cambio, si usas temas XML de AppCompat, utiliza AppCompat Compose Theme Adapter, que contiene la API de AppCompatTheme
.
Incluye la dependencia que necesites en el archivo build.gradle
de la app, como se muestra a continuación:
dependencies {
// When using a MDC theme
implementation "com.google.android.material:compose-theme-adapter:1.1.16"
// When using a AppCompat theme
implementation "com.google.accompanist:accompanist-appcompat-theme:0.28.0"
}
Comienza a migrar a Compose
Consulta Estrategia de migración a fin de obtener orientación para comenzar tu migración a Compose. Allí, podrás aprender a incorporar Compose de forma segura y progresiva a tu base de código.
Para obtener más información sobre ComposeView
y otras APIs de interoperabilidad, consulta la guía de APIs de interoperabilidad. Para obtener más información sobre otras APIs de recursos de Compose, consulta la guía de Recursos de Compose.
Cómo probar tu IU mixta de objetos View y Compose
Después de migrar partes de tu app a Compose, las pruebas son fundamentales para asegurarte de que no se haya dañado nada.
Cuando una actividad o un fragmento usa Compose, en lugar de ActivityScenarioRule
, debes usar createAndroidComposeRule
, que integra ActivityScenarioRule
con un objeto ComposeTestRule
que te permite probar Compose y el código de View al mismo tiempo.
class MyActivityTest { @Rule @JvmField val composeTestRule = createAndroidComposeRule<MyActivity>() @Test fun testGreeting() { val greeting = InstrumentationRegistry.getInstrumentation() .targetContext.resources.getString(R.string.greeting) composeTestRule.onNodeWithText(greeting).assertIsDisplayed() } }
Consulta la guía para probar tu diseño de Compose a fin de obtener más información sobre las pruebas y la interoperabilidad con Espresso.
Navigation
Si usas el componente Navigation de tu app, consulta la sección Interoperabilidad de la guía Cómo navegar con Compose.
Próximos pasos
Puedes encontrar más información sobre Compose en el índice de documentación. Existen diferentes enfoques para implementar Compose en tu app. Obtén más información en la guía para implementar Compose en tu app, que también contiene vínculos a otras guías, como Compose en tu arquitectura existente y Compose en tu IU existente.