Android MVP,检查互联网连接的地方
我正在安道尔ID应用程序上实施MVP模式,我怀疑检查互联网连接的最佳位置在哪里。 在打任何网络电话之前,我通常会检查一下是否有互联网连接 那么,我应该在活动或演示者中的哪里查看它呢?Android MVP,检查互联网连接的地方,android,mvp,Android,Mvp,我正在安道尔ID应用程序上实施MVP模式,我怀疑检查互联网连接的最佳位置在哪里。 在打任何网络电话之前,我通常会检查一下是否有互联网连接 那么,我应该在活动或演示者中的哪里查看它呢? 我认为演讲者会是一个好地方,所以它决定做什么,但是我不能100%确定我是否应该把它放在活动中,避免给演讲者打电话 我认为演讲者不是个好地方。演示者应该询问模型中的新数据,如getData()。演示者不应该知道它是来自本地数据库还是来自服务器。因此,在演示者处检查互联网连接不是一个好主意 如果使用存储库模式,演示者将
我认为演讲者会是一个好地方,所以它决定做什么,但是我不能100%确定我是否应该把它放在活动中,避免给演讲者打电话 我认为演讲者不是个好地方。演示者应该询问模型中的新数据,如getData()。演示者不应该知道它是来自本地数据库还是来自服务器。因此,在演示者处检查互联网连接不是一个好主意 如果使用存储库模式,演示者将要求模型/存储库获取数据。模型将首先将本地数据发送给演示者。同时,它将发送服务器请求(如果有网络连接)下载新数据,并将新数据发送给演示者 所以我认为,网络检查必须在存储库/模型上进行。您可以拥有实现实际网络检查代码的Util类。并从存储库中调用该方法,如
AppUtil.isNetworkConnectionAvailable()代码>
有关更多信息,请参阅:解决方案:-
您应该在BaseActivity类中检查internet连接的可用性,然后扩展该活动,我认为这是更好的做法
我在我的项目中是这样做的:-
public boolean isInternetAvailable() {
return internet.isAvailable();
}
谢谢你的方法和链接。我再检查一遍!如果你有不同的看法,一定要告诉我。:)如果我发现了什么,我会在这里发帖的。然而有很多不同的方法,问题是依赖于项目的方法比其他方法更适合。谢谢。您有解决方案吗?您可以从存储库向演示者发送错误回调中的错误代码。根据错误代码,演示者可以选择显示“无网络,请重试”消息。您能提供一个示例吗?我正在这样做,但问题是广播接收器太慢,它的回调是在活动结束后触发的。