Map<Integer, String
>をbyte[]
に変換して内部ストレージに書き込むにはどうすればよいですか?私は現在持っている:マップをバイトに変換して内部ストレージに保存する方法
try {
FileOutputStream fos = context.openFileOutput(Const.FILE_CATEGORIES, Context.MODE_PRIVATE);
fos.write(null);
} catch (FileNotFoundException e) {
// reload and create the file again
}
But..Iは正しい形式にMap
を取得する方法を知って、その後、私は再びそれをロードする必要が一度それはそれに戻って元の形式だデコードされません。このファイルを週に1回作成し、アプリケーションの起動時にロードする必要があります。あなたは簡単にバイトストリームに任意のシリアル化可能 オブジェクトを解析することができますJavaでシリアライズを使用して
このアプローチでは、マップクラスが変更された場合、永続化されたすべての値が無効であるという欠点があります。 – belgther