在我的应用程序 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 在 Activities
或 Services
之前启动正在 运行,我主要使用 Application
class 来初始化 Multidex
。
因此,最好为 public static
方法创建另一个 class,例如 Utils.java
。
您好,我在我的 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 在 Activities
或 Services
之前启动正在 运行,我主要使用 Application
class 来初始化 Multidex
。
因此,最好为 public static
方法创建另一个 class,例如 Utils.java
。