2017-04-18 19 views
1

多くのオブジェクトを持つjsonファイルがあります。このファイルはres/rawにあります。私はこのファイルを読んで、UIのリストにオブジェクトを表示しています。また、ユーザーがこのリストでアクティビティを終了すると、そのユーザーが最も多く行った変更が、読み込まれたファイルに保存されます。データでjsonファイルを編集して保存する方法

答えて

3

ファイルがapkファイル内にある場合は、変更することはできません。代わりに、永続ストアにフラグが格納されています。アプリケーションの最初の実行であれば、このjsonファイルをapkから読み込んで処理し、デバイスファイルシステムに格納します。

そして次に実行するたびに、最初の実行でない場合はフラグをチェックし、ファイルシステムからファイルを読み取り、さらに処理します。

+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)オブジェクトとそのオブジェクトが静的することができます静的オブジェクトがnullであるかどうかを確認するために、その静的オブジェクトから同じアクティビティの読み込みと読み込みを繰り返す代わりに、同じアクティビティロードUIを参照してください。

関連する問題