我有一个具有两个字符串值和一个可绘制对象的对象(或者它可能是位图 - 没关系)。我从 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 项目相关联?到底怎么读呢?
感谢您的回答,抱歉英语不好。