Dagger2引用

AndroidStudio 3.0以后版本包括3.0加下面依赖即可使用如果你的Studio不是3.0的版本

去下面的网址进行配置   https://www.jianshu.com/p/94d47da32656

compile 'com.google.dagger:dagger:2.4'
annotationProcessor 'com.google.dagger:dagger-compiler:2.4'
provided 'org.glassfish:javax.annotation:10.0-b28'

写一个类

public class Poetry {
    private String mPemo;

    // Inject标记构造函数,表示用它来注入到目标对象中去
    @Inject
    public Poetry() {
        mPemo = "生活就像海洋";
    }

    public String getPemo() {
        return mPemo;
    }

}

接口

@Component
public interface MainComponent {
    void inject(MainActivity activity);

}

MainActivity类

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  = findViewById(R.id.tv_poetry);
        mTextView.setText(mPoetry.getPemo());
    }
}


你可能感兴趣的:(移动开发)