[英]Writing and reading JSON with Libgdx
與JsonBeans
的JsonBeans非常混淆。 嘗試將游戲進度保存並加載到本地存儲中。 初始化文件:
file=Gdx.files.local(FILENAME);
讀取json:
if (file.exists()) {
JsonReader jsonReader = new JsonReader();
JsonValue jv = jsonReader.parse(file.reader());
levels = jv.getInt(LEVELS, 1);
}
應用程序死於NullPointerException
, levels = jv.getInt(LEVELS, 1);
( jv
為null
)。
但是寫也行不通,輸出文件為空:
Json json=new Json(JsonWriter.OutputType.json);
json.setWriter(file.writer(true));
json.writeObjectStart();
json.writeValue(LEVELS, levels);
json.writeObjectEnd();
有什么建議么? 提前致謝。
請嘗試使用Gdx.files.internal而不是Gdx.files.local,因為您可能沒有寫入本地存儲的權限。
對於以管理員身份運行的桌面(我認為足夠了)
對於android,添加對Android清單的寫/讀權限。
Goddamn,Libgdx Wiki上的教程非常沒有信息。 首先,從未提到過將Writer
設置為Json
實例所需的條件,其次,在讀完之后,感覺仍然是Json
類完成了在磁盤上記錄json的所有工作,但事實並非如此。 您需要自己執行此操作:
file.writeString(json.prettyPrint(progress), false);
之后,所有的工作。 感謝大家。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.