美文网首页
谷歌官方MVP Contract浅解

谷歌官方MVP Contract浅解

作者: RobotStar | 来源:发表于2017-02-17 18:45 被阅读69次

先上官方源代码:

Todo-MVP

可以看到官方MVP代码的包结构,是根据业务来划分,每个包里边都有一个MVP结构。Activity+Fragment相当于View,Presenter用来连接View和Model。

关于Model,官方例子里的Model是按照数据源分为Local和Remote,常见的Local数据包括Database、File、SharedPreference,Remote就是从网络存取数据。

官方例子里有个Contract比较有意思,这个接口将V和P放在一起,以及它们所有的方法,先看一下其中一个Contract的源码:

public interface TaskDetailContract {
    interface View extends BaseView<Presenter> {
        void setLoadingIndicator(boolean active);
        void showMissingTask();
        void hideTitle();
        void showTitle(String title);
        void hideDescription();
        void showDescription(String description);
        void showCompletionStatus(boolean complete);
        void showEditTask(String taskId);
        void showTaskDeleted();
        void showTaskMarkedComplete();
        void showTaskMarkedActive();
        boolean isActive();
    }

    interface Presenter extends BasePresenter {
        void editTask();
        void deleteTask();
        void completeTask();
        void activateTask();
    }
}

每个Contract里边都定义了不同的View和Presenter接口,从整体看代码逻辑比较清楚。

关于Contract,如果APP的每个页面逻辑相差不多的话,Contract是可以去掉的。可以让Activity可以继承同一个BaseActivity(Fragment同理),BaseActivity实现一个IActivity接口,将Presenter调用Activity的方法都写在这个接口里。而所有的Presenter都实现一个BasePresenter,然后在BasePresenter里引用IActivity。

相关文章

  • 谷歌官方MVP Contract浅解

    先上官方源代码: 可以看到官方MVP代码的包结构,是根据业务来划分,每个包里边都有一个MVP结构。Activity...

  • 谷歌官方MVP Contract分析

    目前Android开发比较流行的是MVP开发架构,与MVC不同的是把Activity、Fragment等作为Vie...

  • 告别臃肿的Contract接口,kotlin实现极简MVP

    以前,我们参考google的官方示例实现MVP,需要定义一个Contract契约类,View和Presenter之...

  • 002.MVP

    Android Architecture Blueprints 学习之 TODO-MVP(一) - 推酷 谷歌官方...

  • Android第三方框架

    2017 - 09 -18 MVP架构 谷歌官方的一些示例框架 AndroidStudio MVPPlugin 帮...

  • Day 2

    登录模块 1、mvp→model包新建:User.java 2、mvp→contract新建:LoginContr...

  • 谷歌官方MVP架构分析

    谷歌官方MVP基础架构总结 项目架构图: 在官方的MVP实现中,类的分类是以功能划分到一个包中。 具体的实现流程,...

  • Android MVP - Contract

    说起Android比较流行的架构模型,MVC、MVP、MVVM这几种是最常见的,也是当前主流的架构模型,本篇通过对...

  • Android:Retrofit + RxJava MVP 架构

    前言 目前 MVP 架构在 Android app 开发中非常流行。通过 谷歌官方 例子和个人的一些理解形成自己的...

  • Android MVP模式 谷歌官方代码解读

    Google官方MVP Sample代码解读 关于Android程序的构架, 当前(2016.10)最流行的模式即...

网友评论

      本文标题:谷歌官方MVP Contract浅解

      本文链接:https://www.haomeiwen.com/subject/eqojjttx.html