1. ホーム
  2. android

[解決済み] Androidでオブジェクトをシリアライズしてファイルに保存するにはどうすればよいですか?

2022-06-23 21:17:56

質問

ある簡単なクラスがあり、それをオブジェクトとしてインスタンス化した後、その内容をファイルにシリアライズし、後でそのファイルを読み込んで取得したい...とします。どこから始めればいいのかわかりません。 このオブジェクトをファイルに直列化するために何をする必要があるのでしょうか?

public class SimpleClass {
   public string name;
   public int id;
   public void save() {
       /* wtf do I do here? */
   }
   public static SimpleClass load(String file) {
       /* what about here? */
   }
}

これはおそらく世界で最も簡単な質問です。なぜなら、これは.NETでは本当に簡単なタスクですが、Androidでは私はかなり新しいので、完全に迷子になっています。

どのように解決するのですか?

保存する(例外処理コードなし)。

FileOutputStream fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(this);
os.close();
fos.close();

ロード中(例外処理コードなし)。

FileInputStream fis = context.openFileInput(fileName);
ObjectInputStream is = new ObjectInputStream(fis);
SimpleClass simpleClass = (SimpleClass) is.readObject();
is.close();
fis.close();