Goo*_*ead 6 java android dependency-injection dagger
我只是尝试匕首而不是roboguice,到目前为止,刀具很棒很简单,指向它:)
但另一方面,匕首我发现它比roboguice更不易配置,我必须进行基准测试是否值得改变,但在这种情况下我正在研究如何注入东西,比如Adapters,这就是我做的,它的工作原理:
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());
} ....
Run Code Online (Sandbox Code Playgroud)
但是在创建这个实例的Activity上我必须得到一个允许注入的应用程序,每次使用该依赖项的类时我都必须添加到模块中,roboguice为我做了所有这些并且只有一个入口点修改东西.
我做错了什么?有没有更好的方法来进行这种注射?避免在模块上声明每个类?
@Module(injects = {
    MainActivity.class,
    PeopleAdapter.class
    },
    library = true)
public class AndroidModule { ....
Run Code Online (Sandbox Code Playgroud)
我会很感激任何评论或最佳实践或经验.
谢谢!
你做的一切都是对的。Dagger 需要比 Roboguice 更多的配置,但也更强大(可配置)。您是否已经尝试过作用域图或延迟注入?
injects每个使用注入的类都必须在模块的参数中列出。没有办法避免每个类的声明。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2901 次  |  
        
|   最近记录:  |