android dagger2使用二

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);
}
@Module
public 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);
    }
就可以跑起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值