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

这是模仿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 {
        /**
         * 展示android干货
         *
         * @param gankList
         */
        void showAndroidGank(List 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上的源码,希望对大家有一些帮助.

你可能感兴趣的:(仿googleMVP设计模式示例demo,结合rxjava,retrofit2.0)