Android MVP,检查互联网连接

Jos*_*hon 16 mvp android

我执行上的Andorid应用MVP模式,我有一个关于哪里是疑问最好的地方用于检查网络连接. 在进行任何网络通话之前,我通常会检查是否有互联网连接.

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

Bob*_*Bob 10

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

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

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

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