2015-11-28 2 views
0

Я только начал изучать разработку Android и у меня есть (возможно) основные вопросы, но я не нашел ничего понятного.Android-файл create

Я пытаюсь сохранить данные в файл 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 объект уже существует в файле.

Поэтому я пытаюсь сохранить первый объект JSON с моими параметрами в методе onCreate() и сохранить его в файле, но wen я запустил приложение, и я его остановил, он снова возвращается для выполнения onCreate() и удаляет все данные, хранящиеся в течение времени выполнения.

Итак, мой вопрос: есть ли способ инициализировать только один раз, чтобы параметры файла JSON могли получить доступ в первый раз, в отличие от его пустого ???

Надеюсь, что я хорошо объяснил!

Thanxxxx !!!!

ответ

0

Вы можете создать свой собственный флаг boolean и проверить, когда вы начнете.

0

Я не понимаю, почему вы можете использовать флаг, если флаг установлен на значение init в onCreate(), но я пробовал базовый метод: каждый раз проверяйте, является ли json-файл нулевым. Но это похоже на базовый нет? Есть ли какой-либо путь или пытается понять, как использовать флаги без сброса их значений?

msgjson = readFileJson(); 

       if(msgjson == "") { 
        json.put("ARRAY", jsonArray); 
       }else{ 
        json = new JSONObject(msgjson); 
       } 

Thanx !!

Смежные вопросы