2017-04-18 188 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类对象是否为空。

相关问题