Generalidades

Notas sobre empuñadura y puñal. @HiltAndroidApp. | Autor: Dennis Iluma | Julio de 2021

@HiltAndroidApp Inicie la generación de código de Hilt. Esto creará un contenedor de componentes básicos con todas las dependencias. Ubicado en la parte superior de su aplicación. Todos los demás componentes heredan de él.
Debe anotar la clase de aplicación como se muestra a continuación

@HiltAndroidApp
class MyApplication : Application() ...

@AndroidEntryPoint. Cualquier clase anotada con esto tendrá acceso a todas las dependencias almacenadas en el contenedor de componentes generado @HiltAndroidAppSignifica que otorga a la clase anotada con ella el permiso para usar las dependencias almacenadas en el contenedor de manejadores.

@AndroidEntryPoint
class MyActivity : AppCompatActivity() ...

Cuando se coloca antes de la estafasegundotructor como se muestra a continuación significa que la clase se puede usar como una dependencia.En este caso, se llama Inyección de constructor. Lo que está sucediendo detrás de lo que ve es que se crea una instancia de la clase «AnalyticsAdapter» y se almacena en el contenedor creado en tiempo de compilación.Para que las instancias de esta clase se puedan usar en cualquier lugar con comentarios @Punto de entrada de Android

class AnalyticsAdapter @Inject constructor( private val service: AnalyticsService)  … 

Cuándo @inyección Colocado en una clase anotada con @AndroidEntryPoint, se llama inyección de campo, como se muestra a continuación.

@AndroidEntryPoint
class MyActivity : AppCompatActivity() {
@Inject lateinit var adapter: AnalyticsAdapter

Se utiliza para inyectar clases que no se pueden inyectar en un constructor. Estas son clases sin constructores o clases de dependencias de terceros, como Retrofit for Api calls y Room for RoomDB. El siguiente es un ejemplo de cómo utilizar el módulo.

LEER  7 formas en que las aplicaciones de realidad aumentada mejoran la experiencia del cliente

Nota: Utilice módulos junto con @InstallIn () y @Provides

@InstallIn(SingletonComponent::class)
@Module
class AnalyticsModule ...

Esto significa que estamos instalando o adjuntando el módulo al contenedor SingletonComponent, que se crea en segundo plano. @HiltAndroidApp Se utilizan anotaciones. Esto significa que el módulo estará disponible en el alcance de SingletonComponent en toda la aplicación.

@InstallIn(SingletonComponent::class)

Agrega un enlace para los objetos que no se pueden construir para ser inyectados para una discusión anterior. En este caso, el objeto devuelto es el objeto utilizado.

@InstallIn(SingletonComponent::class)
@Module
class AnalyticsModule

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba