Android文件创建

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

我刚开始学习开发android,我有一个(可能)基本的问题,但我没有发现任何清晰的东西

我试图将数据存储在JSON文件中,我已经理解了存储数据的逻辑,我的方法是:

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