2 つの文字列値と 1 つのドローアブルを持つオブジェクトがあります (またはビットマップである可能性がありますが、問題ではありません)。写真はWEBから拾ってきます。私のプロジェクトでは、さらに使用するために、そのオブジェクトのいくつかを ArrayList に保存する必要があります。
その ArrayList は、ListView をカスタム アダプターで埋めるために使用されます。
今、これらのメソッドを使用して、ファイルから ArrayList を読み書きします。シリアル化を使用します。
public final class InternalStorage{
private InternalStorage() {}
public static void writeObject(Context context, String key, Object object) throws IOException {
FileOutputStream fos = context.openFileOutput(key, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object);
oos.close();
fos.close();
}
public static Object readObject(Context context, String key) throws IOException,
ClassNotFoundException {
FileInputStream fis = context.openFileInput(key);
ObjectInputStream ois = new ObjectInputStream(fis);
Object object = ois.readObject();
return object;
} }
問題は、Drawable または Bitmap オブジェクトがシリアル化できないことです。では、ArrayList のシリアル化されたすべてのオブジェクトと共にドローアブルを格納するにはどうすればよいでしょうか? たぶん、保存されているすべての画像ファイルをすべてのArrayListアイテムに何らかの方法で関連付ける必要がありますか? 結局のところ、それをどのように読むのですか?
回答ありがとうございます。下手な英語で申し訳ありません。