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

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

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

  • MVP Android - 有多less演示者?
  • android模型视图主持人/控制器的例子
  • Android MVP - 应该避免在演示者中使用R.string引用?
  • Android MVP - 应避免在演示者中使用R.string引用吗?
  • 主持人用匕首注射2
  • 如何使用适用于Android的MVP模式控制ListView
  • Android MVP - 如何在活动演示者和片段演示者之间进行通信
  • 与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(); }