Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在MVP模式中,哪一层应该检查internet连接?_Android_Android Mvp - Fatal编程技术网

Android 在MVP模式中,哪一层应该检查internet连接?

Android 在MVP模式中,哪一层应该检查internet连接?,android,android-mvp,Android,Android Mvp,在安卓系统中,在实现MVP模式时,哪一层应该检查互联网连接?模型、视图或演示者 模型使用这些资源来检查连接。但它们不是模型的一部分 模型 在具有良好分层体系结构的应用程序中,此模型将只是域层或业务逻辑的网关。将其视为要在视图中显示的数据的提供者。模型的职责包括使用API、缓存数据、管理数据库等 看法 通常由活动实现的视图将包含对演示者的引用。视图将要做的唯一一件事是在每次有接口操作时从Presenter调用一个方法 演讲者 演示者负责充当视图和模型之间的中间人。它从模型中检索数据并将其格式化返

在安卓系统中,在实现MVP模式时,哪一层应该检查互联网连接?模型、视图或演示者

模型使用这些资源来检查连接。但它们不是模型的一部分

模型 在具有良好分层体系结构的应用程序中,此模型将只是域层或业务逻辑的网关。将其视为要在视图中显示的数据的提供者。模型的职责包括使用API、缓存数据、管理数据库等

看法 通常由活动实现的视图将包含对演示者的引用。视图将要做的唯一一件事是在每次有接口操作时从Presenter调用一个方法

演讲者
演示者负责充当视图和模型之间的中间人。它从模型中检索数据并将其格式化返回到视图。但与典型的MVC不同,它还决定了当您与视图交互时会发生什么。

IMHO,以上都没有。数据访问应该由您的数据层处理,例如存储库或数据源。这包括提供有关数据可用性的详细信息,例如是否可以与服务器通信。@commonware我是MVP的新手。要检查连接,需要上下文、ConnectionManager和NetworkInfo。你能告诉我,这个逻辑应该放在哪里吗;将其放入另一个包中,该包将承担有关数据的所有责任。任何与数据相关的责任,如访问数据、将从网络获取的数据转换为适当的数据模型类、将获取的数据持久化到本地缓存或本地数据库、将应用程序数据与云备份同步等。想象一下这个流程:视图--(输入事件)--->演示者--(提供数据)--->模型--(数据规范)-->REPOSITORY-->(请求数据)-->data(获取数据-本地数据库、api等或错误)。建议这种逻辑和责任在于存储库或数据层。只需从全局应用程序类的行为关系中公开它。