仿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<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);
    }
}

效果图

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏musazhang的专栏

畅游数据库性能优化过程简析(下)

经过周末两天的折腾,在大家的帮助下最终将用户 DB 的性能峰值由最初的不到 8W 的 QPS + TPS 提升至 17W,心情也由最初的忐忑过渡到现在的平静,现...

51500
来自专栏Android干货园

Android 百度地图SDK 实现获取周边位置POI

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/49...

19720
来自专栏程序员互动联盟

【专业技术第十讲】嵌入式系统的中断流程剖析

存在问题: 搞嵌入式特别是底层,常常提到中断,中断时干什么的呢? 解决方案: 做嵌入式肯定要了解中断。本文根据实例详细介绍中断过程,包括软件和硬件方面。 示例:...

47560
来自专栏宋凯伦的技术小栈

Android - 通过真实案例学习解内存泄漏问题,最终发现Android原生Bug

  作为一个Android新手小白,刚到新公司,最近的工作就是在学习解各类Bug。转型之初,面临各种新知识,会有压力,但是学习的过程是快乐的。   上周刚遇上一...

23880
来自专栏Flutter入门到实战

Android M Launcher3主流程源码浅析

关于Launcher是啥的问题我想这里就没必要再强调了。由于一些原因迫使最近开始需要研究一下Launcher3源码,为了不再像以前那么傻逼(研究Settings...

22120
来自专栏编程思想之路

带你解锁蓝牙skill(三)

蓝牙这块儿算是系统中的一个大块儿,刚开始分析确实很容易没有头绪,所以在进入庞大的源码之前先确定一个分析顺序,也好避免越学越乱。 对于源码的分析不外乎wh...

40670
来自专栏求索之路

从零开始仿写一个抖音App——app架构更新与网络层定制

讨论1:zsh 对 bash 的支持并不是完全的,如果运行纯 bash 有时候会出问题建议不要在服务器上用。

44910
来自专栏FreeBuf

ADB配置提权漏洞(CVE-2017-13212)原理与利用分析

0x01 背景 adb由于拥有shell权限,因此仅在授权PC端后才可使用shell权限,而通过该漏洞,可以实现在移动端获取shell权限,以致于可随意删除应用...

45890
来自专栏安恒网络空间安全讲武堂

X-NUCA 2017第三期 WriteUp

? 我个人感觉这次题目质量是可以的,很模拟现实渗透场景,从外网到内网到域控,到达一定阶段给个flag 但是也有吐槽的点,主办方给8个小时,一共有12个关卡,...

29080
来自专栏Phoenix的Android之旅

其实热修复就这么简单

上几篇内容介绍了Java的ClassLoader和相关的知识点,总的来说 · Java加载class逻辑是双亲委托模式 · 对于不在class path中的cl...

10410

扫码关注云+社区

领取腾讯云代金券