【发布时间】:2014-08-04 04:08:57
【问题描述】:
我只是在尝试 dagger 而不是 roboguice,到目前为止,butterknife 很棒而且很简单,点它:)
但另一方面,我发现 dagger 的可配置性不如 roboguice,我必须对其是否值得更改进行基准测试,但在这种情况下,我正在研究如何在适配器中注入东西,这就是我所做的它有效:
public class PeopleAdapter extends BaseAdapter {
private static final String TAG = PeopleAdapter.class.getName();
@Inject
TempoSharedPreferences prefs;
private LinkedList<People> elements;
public PeopleAdapter (LinkedList<People> elements, TempoApplication app) {
this.elements = elements;
app.inject(this);
Log.d(TAG, "registered: " + prefs.isRegistered());
} ....
但是在创建此实例的 Activity 上,我必须获得一个允许注入的应用程序,而且每次使用该依赖项的类时,我都必须添加到模块中,roboguice 为我做了所有这些,并且只有一个条目指出修改内容的位置。
我做错了什么?有没有更好的方法来进行这种注射?避免在模块上声明每个类?
@Module(injects = {
MainActivity.class,
PeopleAdapter.class
},
library = true)
public class AndroidModule { ....
我将不胜感激任何对此的评论或最佳实践或经验。
谢谢!
【问题讨论】:
标签: java android dependency-injection dagger