在我的应用程序 class 中声明的演示者中使用静态变量是个好主意吗

Is that a good idea to use static variable in presenter that is declared in my Application class

您好,我在我的 android 应用程序中使用 MVP 模式。我在应用程序 class 中有一些检查连接状态的静态方法。

public class AppModule extends Application {

  public static boolean isNetworkAvailable() {
        ConnectivityManager connectivityManager
                = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }
}

我正在 Presenter 中使用该应用程序级静态方法来检查互联网连接。

public class ActivityWallPresenter {

private CreatrixTestCall creatrixTestCall;

@Inject
public ActivityWallPresenter(CreatrixTestCall creatrixTestCall) {
    this.creatrixTestCall = creatrixTestCall;
}

public void loadPosts(ActivityWallFragmentContract activityWallFragment) {
    this.fragmentContract = activityWallFragment;
    if (AppModule.isNetworkAvailable()) {
        fragmentContract.showProgress();
        callWeb();
    } else {
        fragmentContract.onNetworkDisconnected();
    }
}

调用静态方法是个好主意吗?如果没有,建议我任何其他方法。

为了使代码易于理解,如果您使用任何 public static 方法,则将其写在单独的 class.

不需要写在Application class.

而且我认为 Application class 是开始某些事情,例如分析 Multidex 等,因为应用程序 class 在 ActivitiesServices 之前启动正在 运行,我主要使用 Application class 来初始化 Multidex

因此,最好为 public static 方法创建另一个 class,例如 Utils.java