Android MVP,检查互联网连接

我正在Andorid应用程序上实现MVP模式,我怀疑检查互联网连接最佳位置在哪里 在进行任何网络通话之前,我通常会检查是否有互联网连接。

那么,我应该在ActivityPresenter中查看它? 我认为Presenter会是一个不错的地方,所以它决定做什么,但是我不是百分之百确定如果我应该把它放在活动中并且避免打电话给Presenter。

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

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

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

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

解:-

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

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

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