Android MVP,查看互联网连接

时间:2016-05-03 15:15:26

标签: android mvp

我在Andorid App上实施MVP模式,我对检查互联网连接的最佳位置有疑问。 我经常在进行任何网络通话之前检查是否有互联网连接。

那么,我应该在活动演示者中查看哪些内容? 我认为Presenter会是一个不错的地方,所以它决定要做什么,但是我不能100%确定如果我将它放在活动中并且避免打电话给Presenter。

2 个答案:

答案 0 :(得分:10)

我不认为Presenter是个好地方。 Presenter应该询问模型中的新数据,例如getData()。演示者不应该知道它是来自本地数据库还是来自服务器。因此,检查Presenter上的互联网连接不是一个好主意。

如果使用存储库模式,Presenter将要求模型/存储库获取数据。该模型将首先将本地数据发送给演示者。同时,它将发送服务器请求(如果有网络连接)以下载新数据,并将新数据发送到Presenter。

所以我认为,网络检查必须在Repository / model上。您可以使用Util类来实现实际的网络检查代码。并从存储库调用该方法,如AppUtil.isNetworkConnectionAvailable();

有关详细信息,请参阅:https://github.com/googlesamples/android-architecture/tree/todo-mvp/

答案 1 :(得分:-2)

<强>

<强>解决方案: -

您应该检查BaseActivity类中的Internet连接可用性,然后扩展该活动是我认为更好的做法。

我在我的项目中这样做: -

public boolean isInternetAvailable() {
    return internet.isAvailable();
}