Android-Dagger2和MVP使用示例

该博客详细介绍了如何在Android应用中结合MVP(Model-View-Presenter)架构和Dagger2依赖注入框架进行开发。首先,博主阐述了MVP模式中Presenter和View的职责,接着讲解了Dagger2如何实现MVP组件间的依赖注入,包括定义Module、Component以及在Activity中调用Component接口完成绑定。文章提供了相关链接以供深入学习。
摘要由CSDN通过智能技术生成

Dagger使用整理:https://blog.csdn.net/ahou2468/article/details/103952052

MVP使用整理:https://blog.csdn.net/ahou2468/article/details/103975635
MVP-模型-视图-表现层(Presenter):Presenter相当于Model和View通信的桥梁,控制着程序的全部逻辑,在Presenter将View和Model对象注入到Presenter;

Dagger:是一个依赖注入框架,Dagger负责实现View和Model注入到Presenter;

目录

1.MVP实现

1.1定义Presenter和View接口

1.2Presenter实现

1.3实现View

2.Dagger实现MVP中依赖的注入

2.1定义Module和Provider实例提供方

2.2定义Component

2.3实现Dagger中Component和与MVP的绑定

a.将会生成Dagger创建Model的工厂方法:(依赖注入提供方)

b.将会生成Dagger创建实现Component的接口的方法:(依赖注入具体消费方)

c.在Activity/Fragment中调用Component接口的实现类,实现绑定操作


1.MVP实现

1.1定义Presenter和View接口

Presenter:实现具体的控制逻辑,定义View调用Presenter通信的方法;

View:定义了Presenter和View的通信方法,Presenter调用实现的View中的方法通知更新UI;

public interface SplashContract {
    interface Presenter {
        void getSplash(String deviceId);
    }
    interface View {
        void updateUI();
    }
}

1.2Presenter实现

实现Presenter接口,通过@Inject标示需要注入View和相关Model;

public class SplashPresenter implements SplashContract.Presenter{
    private SplashContract.View view;
    private ApiService apiService;
    @Inject
    public SplashPresenter(SplashContract.View view, ApiService apiService) {
        this.view = view;
        this.apiService = apiService;
        Logger.d("apppp:"+apiService);
    }
    @Override
    public void getSplash(String deviceId ) {
        String client = "android";
        String version = "1.3.0";
        Long time = TimeUtil.getCurrentSeconds();
        apiService.getSplash(client,version,time,deviceId)
                        ......;
    }
}

1.3实现View

实现View接口,通过@Inject标示要创建Presenter对象;

public class SplashActivity extends BaseActivity implements SplashContract.View, EasyPermissions.PermissionCallbacks {
    @Inject
    SplashPresenter presenter;
}
调用
presenter.getSplash(deviceId);

2.Dagger实现MVP中依赖的注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值