Вы хотите сохранить объект как изображение? Итак, в целом ... Сделайте объект Сериализуемым так:
public class DataSet implements Serializable {
/* this is the version of this class,
increment, when you change the implementation */
public static final serialVersionUID = 1L;
...
}
И сохранить двоичный результат в байтовом массиве с ObjectOutputStream
. Этот байтовый массив вы можете сохранить в своей базе данных как BLOB. Например, если ваша таблица имеет идентификатор и столбец данных:
byte[] data;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
try {
oos.writeObject(DATA);
data = bos.toByteArray();
} finally {
oos.close();
}
PreparedStatement pstmt = jdbcConnection.prepareStatement(
"insert into MYTABLE (id, data) values (?, ?)");
pstmt.setLong(1);
pstmt.setBlob(2, new ByteArrayInputStream(data));
...
Зафиксируйте данные, закройте соединение. Внимание: этот код не проверен ...
Снова читая BLOB-объект из базы данных, вы можете использовать ObjectInputStream
в байтовом массиве, который вы получаете от BLOB, как и выше, только наоборот. Я оставляю это для вас, чтобы закодировать.
Пожалуйста, помните, что при последовательном хранении данных они не будут читаться человеком, поэтому вы не можете открыть свой SQLite, изучить его и выяснить, насколько разумны ваши данные.
Удачи!