我是Android编程的新手,但我确实有一些Java经验。
我想知道的是,在SQLite for Android中存储ArrayLists等的最佳方法是什么?在我看来,存储在表格中需要OO编程,但是我不想使用db4o,因为后来我想将我的应用程序移植到iPhone。
说到这个,你们用哪种方法?一个相当简单的例子,如果我有一个带有“Objects”的ArrayList的类“House”,我应该如何存储它们。我也不想使用序列化。
答案 0 :(得分:1)
这是使用sqlite数据库存储数据的典型示例。基本上每个对象都代表表中的一行(每个基元都是一列)。您将查询表并使用游标对象遍历元素。它有点像arraylist的数据库替代品。
答案 1 :(得分:0)
您可以以Blob的形式保存ArrayList。以下是将ArrayList转换为Blob的方法。
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = null;
oos = new ObjectOutputStream(bos);
// mArrayList is the ArrayList you want to store
oos.writeObject(mArrayList);
byte[] buff = bos.toByteArray();
// You can store the blob in the database
Blob blob = new SerialBlob(buff);
} catch (Exception e){
}
现在,这只适用于ArrayList是Serializable的情况。玩得开心!