2017-04-18 192 views

回答

3

如果你的文件位於你的apk文件中,你不能改變它。而不是在持久存儲中存儲標誌。如果它是你的應用程序的第一次運行,那麼從apk讀取這個json文件,處理它並將其存儲在設備文件系統中。

下一次運行時,檢查標誌,如果它不是第一次運行,請從文件系統中讀取文件並進一步處理。

+0

非常感謝:3 –

0

這可能只會通過寫入外部存儲而變得可行。這是我寫的一些代碼,它從JSON文件讀取數據並用新值覆蓋文件。您需要GSON庫供此使用。

File file; // Your file! 
String input = (new BufferedReader(new FileReader(file))).readLine(); // Read file 
Gson gsoninterface = new Gson(); 
ArrayList fromjson = gsoninterface.fromJson(input, ArrayList.class); // Store items in JSON file to Java object 
fromjson.add(YourObject) // Add your value 
GsonBuilder gsonbuilder = new GsonBuilder(); // Make Gsonbuilder 
String a = gsonbuilder.create().toJson(fromjson); // Convert back to JSON 
FileOutputStream outputStream; // Setup FileOutputStream 
try { 
    outputStream = openFileOutput(file.getName(), Context.MODE_PRIVATE); // Open file for write 
    outputStream.write(a.getBytes()); // Write to file 
    outputStream.close(); // Close outputStream 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
1

這裏是使事情靜態的爛路,但如果太緊迫了你,你可以一次讀取JSON文件,並將其轉換爲Java模型(POJO)的對象,使該對象的靜態,當您下一次從該靜態對象訪問相同的活動負載ui,而不是再次讀取和解析它,爲了安全起見,您可以檢查pojo類對象是否爲空。

相關問題