En este post, explicaremos como configurar nuestro primer proyecto usando MVP y Dagger
Creamos un nuevo proyecto con una actividad vacía.
Configuración Dagger
En nuestro componente configuramos los métodos que inyectaremos en este caso será nuestra actividad principal, también hacemos el llamado de los módulos creados, y usamos la anotación @Singleton para crear una única instancia.
Esta clase se encargará de compilar nuestros módulos.
Antes de configurar nuestro DaggerApplicationComponent, debemos hacer un rebuild a nuestro proyecto, estos es importante para que dagger compile los nuevos módulos que hemos creados.
Volvemos a compilar nuestro proyecto y debe ir todo correcto hasta el momento.
Importante: Para que nuestro proyecto reconozca la configuración de nuestro dagger debemos ir a nuestro archivo de AndroidManifest dentro de la etiqueta agregamos android:name=
y referenciamos nuestra clase App
Creamos un nuevo proyecto con una actividad vacía.
Configuración Dagger
Agregaremos a nuestro build.gradle la biblioteca de dagger,
implementation 'com.google.dagger:dagger:2.19'
annotationProcessor 'com.google.dagger:dagger-compiler:2.9'
En la página oficial podemos encontrar mas información
https://dagger.dev/android
Ahora vamos a crear un nuevo paquete que lo llamaremos config
En esta carpeta vamos a crear los tres clases base para nuestra aplicación funcione con dagger, Modulo, componente y nuestra clase App.
ApplicationModule.class
Creamos un modulo, usando la anotación @Module, donde creamos nuestro provides.
@Module public class ApplicationModule { private Application application; public ApplicationModule(Application application){ this.application = application; } @Provides @Singleton public Context provideContext(){ return application; } }
ApplicationComponent.class
En nuestro componente configuramos los métodos que inyectaremos en este caso será nuestra actividad principal, también hacemos el llamado de los módulos creados, y usamos la anotación @Singleton para crear una única instancia.
@Singleton@Component(modules = {ApplicationModule.class}) public interface ApplicationComponent { void inject(MainActivity mainActivity); }
App.class
Esta clase se encargará de compilar nuestros módulos.
Antes de configurar nuestro DaggerApplicationComponent, debemos hacer un rebuild a nuestro proyecto, estos es importante para que dagger compile los nuevos módulos que hemos creados.
public class App extends Application { @Inject ApplicationComponent component; @Override public void onCreate() { super.onCreate(); component = DaggerApplicationComponent.builder() .build(); } public ApplicationComponent getComponent(){ return component; } }
Volvemos a compilar nuestro proyecto y debe ir todo correcto hasta el momento.
Importante: Para que nuestro proyecto reconozca la configuración de nuestro dagger debemos ir a nuestro archivo de AndroidManifest dentro de la etiqueta agregamos android:name=
y referenciamos nuestra clase App
android:name=".config.App"
Compilamos y nuestro proyecto deber compilar sin errores y podemos correr la aplicación sin problema.
En nuestro próximo tutorial haremos login usando MVP
Descargar fuentes
0 Comentarios