Dagger2 简单使用

来源:互联网 发布:远程登陆windows账号 编辑:程序博客网 时间:2024/05/03 18:29

导依赖
implementation ‘com.google.dagger:dagger:2.4’
annotationProcessor ‘com.google.dagger:dagger-compiler:2.4’

创建一个类
public class Poetry {    private String mPemo;    // 用Inject标记构造函数,表示用它来注入到目标对象中去    @Inject    public Poetry() {        mPemo = "小白其实不白";    }    public String getPemo() {        return mPemo;    }}

创建一个连接器

//用@Component表示这个接口是一个连接器,能用@Component注解的只//能是interface或者抽象类@Componentpublic interface MainComponent {    /**     * 需要用到这个连接器的对象,就是这个对象里面有需要注入的属性     * (被标记为@Inject的属性)     * 这里inject表示注入的意思,这个方法名可以随意更改,但建议就     * 用inject即可。     */    void inject(MainActivity activity);}

先重新编译一下

public class MainActivity extends AppCompatActivity {    //添加@Inject注解,表示这个mPoetry是需要注入的    @Inject    Poetry mPoetry;    private TextView mTextView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 使用Dagger2生成的类 生成组件进行构造,并注入        DaggerMainComponent.builder()                .build()                .inject(this);        initView();    }    private void initView() {        mTextView = (TextView) findViewById(R.id.tv_poetry);        mTextView.setText(mPoetry.getPoems());    }}

详情请看大神地址(转载)
http://blog.csdn.net/lisdye2/article/details/51942511

原创粉丝点击