Dagger2
其版本1是由square开发和维护的,到了版本2的时候就由google维护了。
官网:https://dagger.dev/producers
github:https://github.com/google/dagger
参考:深入浅出Dagger2 : 从入门到爱不释手, 这个文章的最后面的代码的单词写错了,将 DaggerCommonComponent 写成了 DaggerCommonCompnent ,这个函数是Dagger2自动生成的,所有需要先编译一下。
public class LoginActivity extends AppCompatActivity implements ICommonView
{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
ButterKnife.bind(this);
DaggerCommonComponent.
builder().
commonModule(new CommonModule(this)).
build().
inject(this);
}
}
还有一个问题,这个demo使用的 butterknife 版本是:
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
------------------------------
浅显易懂的例子:javascript:void(0)
dagger 2 详解,这个例子,有对应的 github 代码。
这个文章,将component 和 module 的关系说清楚了,也是简单的文章,但后半部分的代码没有贴全,需要自己调试以下。连接:Android - Dagger2使用详解:https://www.jianshu.com/p/2cd491f0da01
这个例子比较好,能看懂:Dagger2使用攻略-基础部分,https://cloud.tencent.com/developer/article/1352715