您的位置:首页 > 编程语言 > Java开发

安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量

2017-10-22 16:27 1161 查看

AndroidProjectHelper

项目地址:qiaoyhh/AndroidProjectHelper

简介:安卓项目快速开发框架, MVP + Retrofit + RxJava,Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量更多:作者   提 Bug   标签:MVP-Retrofit-Rxjava-终结目标:不重复造轮子,基于此框架可以快速开发出一款 APP功能在慢慢完善中。。

特性

1、当前主流框架 MVP + Retrofit + RxJava。
2、Activity 和 Fragment 结合 MVP 模式的完整封装,大大减少代码量。
3、酷炫的 APP 启动动画。
4、沉浸式状态栏使用与屏幕适配。
5、RxBus 进行组件之间通讯,降低耦合度。
6、
ToolBar
,
Glide
,多层级 Viewpager 的使用。
7、自定义下拉刷新,上拉加载。

闲话少唠,代码先读为快(核心代码)

1. View 中代码,泛型中传入 P 和 m,并绑定彼此之间的关系
public class FirstTabFragment extends BaseFragment<FirstPresenter,FirstModel>

@Override
public void initPresenter() {
mPresenter.setVM(this,mModel);
}
2. Presenter 中代码,观察者模式,model 中请求数据后,会回调到 presenterz 中
@Override
public void getFirstListDataRequest(int size, int page) {

mRxManage.add(mModel.getListData(size,page).subscribe(new RxSubscriber<List<FirstBean>>(mContext,false) {
@Override
public void onStart() {
super.onStart();
mView.showLoading(mContext.getString(R.string.loading));
}
@Override
protected void _onNext(List<FirstBean> firstBeen) {
mView.showListData(firstBeen);
mView.stopLoading();
}
@Override
protected void _onError(String message) {
mView.showErrorTip(message);
}
}));
}
3. Model 中代码,主要是就是请求网络,将结果发送到 presenterz 中 ````java @Override public Observable<list> getListData(int size, int page) {
return Api.getInstance().service.getListData(size,page)
.map(new Func1<GirlData, List<FirstBean>>() {
@Override
public List<FirstBean> call(GirlData girlData) {
return girlData.getResults();
}
}).compose(RxSchedulers.<List<FirstBean>>io_main());
}

主要核心代码就是以上这些,完美的实现请求网络这个过程,通过 rxJava 观察者机制减少接口的使用,大大减少代码中无用的类!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐