Java 在Android中将ArrayList转换为全局ArrayList
我已经创建了在整个应用程序周期的不同步骤中需要的全局变量。下面是创建的GlobalVariable.java:Java 在Android中将ArrayList转换为全局ArrayList,java,android,arraylist,Java,Android,Arraylist,我已经创建了在整个应用程序周期的不同步骤中需要的全局变量。下面是创建的GlobalVariable.java: import android.app.Application; public class GlobalVariable extends Application { private String globalVariableOne; public String getGlobalVariableOne() { return globalVariable
import android.app.Application;
public class GlobalVariable extends Application {
private String globalVariableOne;
public String getGlobalVariableOne() {
return globalVariableOne;
}
public void setGlobalVariableOne(String globalVariableOne) {
this.globalVariableOne = globalVariableOne;
}
}
然后,我可以使用下面的代码轻松地从任何活动获取和设置这个全局变量
final GlobalVariable globalVariable = (GlobalVariable) getApplicationContext();
//To Set the globalVariableOne Value in an Activity
globalVariable.setGlobalVariableOne("My Value");
//To Get the globalVariableOne Value in a
String readGlobalVariableOne = globalVariable.getGlobalVariableOne();
现在,我在活动中使用以下代码创建了一个ArrayList localArrayList
List<String> localArrayList = new ArrayList<String>();
int maxLength = "10";
for (int i = 0; i < maxLength; i++) {
String valueOne = "Value "+i;
String valueTwo = "Value "+i;
localArrayList.add(valueOne));
localArrayList.add(valueTwo);
}
我希望此ArrayList存储为全局ArrayList,可供应用程序中的任何活动访问和编辑。我不知道怎么做
有人能帮我编辑我的GlobalVariable.java来定义全局ArrayList,并指导我如何获取和设置此全局ArrayList吗?它应该是这样的:
public class GlobalVariable extends Application {
private String globalVariableOne;
private List<String> globalArrayList;
public String getGlobalVariableOne() {
return globalVariableOne;
}
public void setGlobalVariableOne(String globalVariableOne) {
this.globalVariableOne = globalVariableOne;
}
public List<String> getGlobalArrayList() {
return globalArrayList;
}
public void setGlobalArrayList(List<String> globalArrayList) {
this.globalArrayList = globalArrayList;
}
}
然后,在您的代码中,您可以执行以下操作:
GlobalVariable myAppClass = (GlobalVariable)getApplicationContext();
//saving the list
myAppClass.setGlobalArrayList(/*put here the list to save*/);
//getting the list
List<String> globalArrayList = myAppClass.getGlobalArrayList();
但我真的不喜欢这种将所有全局变量都放在自定义应用程序类中的方法…您有什么建议?请指导。如何基于此解决方案获取和设置?这是Android Studio自动为我生成的东西。但是我不知道如何将我的localArrayList传输到这个全局ArrayList。我已经更新了我的答案,顺便说一句,您应该使用数据库、共享首选项、文件、捆绑包在活动之间移动小数据等。。等保存数据以供应用程序的每个部分使用。