项目中有一个数据是可以用ORM来解释的,但是却分表存储。个人感觉有点麻烦,于是着手改造数据库。但是Android中使用NoSQL有点麻烦,于是想到了可以使用Java的Serializable特性。
写了两个方法,如下:
/**
* 将一个可序列化对象序列化为BLOB
* @param s 实现了Serializable接口的对象
* @return BLOB对象,即二进制流,byte数组
*/
public static byte[] getSerializedObject(Serializable s) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(s);
} catch (IOException e) {
return null;
} finally {
try {
oos.close();
} catch (IOException e) {
}
}
byte[] result = baos.toByteArray();
return result;
}
/**
* 从BLOB中读取被序列化的对象
* @param in BLOB对象,即二进制流,byte数组
* @return 被序列化的对象
*/
public static Object readSerialized