Android MVP,在那里检查互联网连接

我在一个Andorid应用程序上实现了MVP模式,并且对于检查互联网连接最佳位置有疑问 在进行任何networking通话之前,我通常会检查是否有互联网连接。

那么,我应该在活动中还是在演示者中检查它? 我觉得Presenter会是个不错的地方,所以它决定要做什么,但是我不是100%确定的。如果我应该把它放在活动中,并避免与Presenter打个电话。

Related of "Android MVP,在那里检查互联网连接"

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

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

所以我认为,networking检查必须在存储库/模型。 您可以使用实现networking校验码的Util类。 并从库中调用该方法,如AppUtil.isNetworkConnectionAvailable();

欲了解更多信息,请参阅: https : //github.com/googlesamples/android-architecture/tree/todo-mvp/

解:-

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

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

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