Android文件创建
我刚开始学习开发android,我有一个(可能)基本的问题,但我没有发现任何清晰的东西 我试图将数据存储在JSON文件中,我已经理解了存储数据的逻辑,我的方法是:Android文件创建,android,json,oncreate,Android,Json,Oncreate,我刚开始学习开发android,我有一个(可能)基本的问题,但我没有发现任何清晰的东西 我试图将数据存储在JSON文件中,我已经理解了存储数据的逻辑,我的方法是: public boolean writeFileJson(JSONObject jobj) { try { FileOutputStream fOut = openFileOutput(file, Context.MODE_PRIVATE); fOut.write(jobj.toString
public boolean writeFileJson(JSONObject jobj) {
try {
FileOutputStream fOut = openFileOutput(file, Context.MODE_PRIVATE);
fOut.write(jobj.toString().getBytes());
fOut.close();
Toast.makeText(getBaseContext(), "file saved", Toast.LENGTH_SHORT).show();
} catch (Exception e1) {
e1.printStackTrace();
}
return true;
}
但我的问题是第一次具体地阅读,因为我这样做的方式是:
public String readFileJson() {
int c;
String temp = "";
try {
FileInputStream fin = openFileInput(file);
while ((c = fin.read()) != -1) {
temp = temp + Character.toString((char) c);
}
Toast.makeText(getBaseContext(), "file read", Toast.LENGTH_SHORT).show();
} catch (Exception e2) {
}
return temp;
}
因此,我第一次阅读它,我想访问我的JSON的一个参数,很明显,文件中已经存在任何JSON对象
因此,我尝试用onCreate()方法中的参数保存第一个JSON对象,并将其保存在文件中,但当我运行应用程序并停止它时,它会再次返回以执行onCreate(),并删除运行时存储的所有数据
所以我的问题是:有没有办法只初始化一次JSON文件的参数,而不是像它是空的那样,可以第一次访问它
我希望我解释得很好
Thanxxxx 您可以创建自己的标志布尔值,并在启动时进行检查。我不太明白为什么在onCreate()中将标志设置为init value时可以使用标志,但我尝试了一种基本方法:每次检查json文件是否为null。但它是如此基本不?有没有其他方法,或者尝试了解如何在不重置其值的情况下使用标志
msgjson = readFileJson();
if(msgjson == "") {
json.put("ARRAY", jsonArray);
}else{
json = new JSONObject(msgjson);
}
Thanx