android dagger2使用二

来源:互联网 发布:c语言的冒泡排序算法 编辑:程序博客网 时间:2024/06/05 21:16

1,现在我们使用dagger2编写一个点击按钮更新UI的操作

public interface IView {    void updateUi(String data);}
public interface IPresenter {    void loadData();}
@Component(modules = MyModule.class)public interface AppComponent {    void inject(MainActivity activity);}
@Modulepublic class MyModule {    private IView mainView;    public MyModule(IView mainView){        this.mainView = mainView;    }    @Provides    public MyPresenter provideMyPresenter(){        return new MyPresenter(mainView);    }}
public class MyPresenter implements IPresenter {    IView iView;    public MyPresenter(IView iView) {        this.iView=iView;    }    @Override    public void loadData() {        iView.updateUi("Mvp Update UI "+System.currentTimeMillis());    }}
编写好上面五个类以后
TextView textView;    @Inject    MyPresenter myPresenter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        textView= (TextView) findViewById(R.id.mytv);        DaggerAppComponent.builder()                .myModule(new MyModule(this))                .build()                .inject(this); //注入    } public void onclica(View view){       myPresenter.loadData(); }    @Override    public void updateUi(String data) {        textView.setText(data);    }
就可以跑起来

0 0
原创粉丝点击