仿googleMVP设计模式示例demo,结合rxjava,retrofit2.0

来源:互联网 发布:java类中的init方法 编辑:程序博客网 时间:2024/06/05 20:34

这是模仿Google官方mvp示例的小demo,结合Retrofit2.0,rxjava加上自己的一点理解所写. 感谢干货免费开放的API.

github地址:https://github.com/X-FAN/GankAPP 欢迎大家star.

google官方的mvp设计模式,比较不同的一点是加上了一个契约类,把逻辑层和视图抽象发在一起.不过这样也的确一目了然,值的借鉴一下.代码类似于下面:

public interface AndroidContract {    interface Presenter extends BasePresenter {        /**         * 获取所有的android干货         *         * @param count         * @param page         */        void subscribeAndroidGank(int count, int page);    }    interface View extends BaseView<Presenter> {        /**         * 展示android干货         *         * @param gankList         */        void showAndroidGank(List<Gank> gankList);    }}

2016/9/5:新增实现类,减少模板代码

public class PresenterAdapter implements BasePresenter {    protected CompositeSubscription mSubscriptions = new CompositeSubscription ();    @Override    public void unSubscribe() {        mSubscriptions.clear();    }    protected void addSubscription(Subscription subscription) {        mSubscriptions.add(subscription);    }}

效果图

gankapp.gif

具体的代码细节以及RxJava与MVP的设计的结合,大家可以看GitHub上的源码,希望对大家有一些帮助.

0 0
原创粉丝点击