I am new to Dagger. I am creating a simple application using MVVM and retrofit and Dagger in android. I created 2 Modules - AppModule and NetworkModule.Added these modules to my Appcomponent. In my Application class when I try to build modules, the show as deprecated.
NetworkModule.class
@Module
public class NetworkModule {
String mBaseURL;
public NetworkModule(String baseUrl){
this.mBaseURL = baseUrl;
}
@Provides
@Singleton
Gson provideGson() {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
return gsonBuilder.create();
}
@Provides
@Singleton
Retrofit provideRetrofit(Gson gson, OkHttpClient okHttpClient) {
return new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl(mBaseURL)
.client(okHttpClient)
.build();
}
}
AppModule.class
@Module
public class AppModule {
private Application mApplication;
public AppModule(Application application){
this.mApplication = application;
}
@Provides
@Singleton
Application provideApplication(){
return mApplication;
}
}
AppComponent.class
@Singleton
@Component(modules = {AppModule.class, NetworkModule.class})
public interface AppComponent {
void inject(MainActivity mainActivity);
}
MyApplication.class
public class MyApplication extends Application {
private AppComponent appComponent;
@Override
public void onCreate() {
super.onCreate();
//appComponent = DaggerA
AppComponent sdfds = DaggerAppComponent
.builder()
.appModule(new AppModule(this))
.networkModule(new NetworkModule("http://myurl/nnn/ddd"))
.build();
}
public AppComponent getAppComponent(){
return appComponent;
}
}
I see the .appModule and .NetworkModule strikes through and says Deprecated. Can somebody explain me what the issue is. Thanks in advance.