我正在閱讀關於Dagger2的文檔。事情是我必須清楚如何注入是如何Context
使用this
Dagger2注入一切?
一類,但我懷疑是下面的類,例如:
public class SocialControler{
private ImageView twitterLogo;
private ImageView googleLogo;
public SocialControler(ImageView twitter, ImageView google){
twitterLogo = twitter;
googleLogo = google;
}
//Getters and Setters
}
我
MainActivity
我會有這樣的事情
所以
SocialControler mSocial = new SocialControler(mTwitterLogo, mGoogleLogo);
我是否應該使用@Inject
而不是new
來代替這個類別,因此我們的活動中沒有更多new
?如果是的話如何?我的卡在@Mudule
。如何在Module
內提供視圖?
@Module
public class AppModuleSocialMediaManager {
@Provides
public MainActivity provideActivity(){
return new MainActivity();
}
@Provides
public SocialMediaClickManager provideMediaManager(MainActivity mainActivity, View twitterLogo, View googleLogo) {
return new SocialMediaClickManager(mainActivity);
}
@Provides
public View provideTwitter(){
return ?
//from here how I can provide a View
}
}
我實際上並沒有得到自己想要的東西,但你可以提供通過在MainActivity作爲視圖參數像'@Provides public View providesTwitter(MainActivity activity){...}' – Blackkara
我想知道,如果我們必須避免在我們的代碼中使用新的和使用@inject所有我們使用dagger2 – JoCuTo