Интересно, хорошо ли я это делаю?
Если мне нужен один экземпляр CoffeHelper
в MainActivity
и SecondActivity
,
, я получу:
public class MyApplication extends Application {
public static CoffeeComponent getCoffeeComponent() {
return coffeeComponent;
}
private static CoffeeComponent coffeeComponent;
@Override
public void onCreate() {
super.onCreate();
coffeeComponent = createCoffeeComponent();
}
private CoffeeComponent createCoffeeComponent() {
return DaggerCoffeeComponent.builder().build();
}
}
-
@Singleton
@Component(modules = {CoffeeProvider.class})
public interface CoffeeComponent {
void provideCoffe(MainActivity mainActivity);
void provideCoffe(SecondActivity secondActivity);
}
и теперь я могу просто написать в MainActivity и во SecondActivity сделать это:
MyApplication.getCoffeeComponent().provideCoffe(this);
это хорошая практика?
мой модуль:
@Module
public class CoffeeProvider {
@Provides
@Singleton
CoffeeHelper getCoffeeHelper(){
return new CoffeeHelper();
}
}