你的第一步是創建一個表來放置它。在這種情況下,應該做一些基本的事情。
CREATE TABLE bundles (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
value BLOB);
然後你需要一個方法用於插入Bundle
,就像這樣:
private void put(SQLiteDatabase db, String name, Bundle bundle) {
ByteArrayOutputStream valueStream = new ByteArrayOutputStream();
try {
ContentValues rows = new ContentValues();
rows.put("name", name);
Parcel p = Parcel.obtain();
bundle.writeToParcel(p, 0);
valueStream.write(p.marshall());
rows.put("value", valueStream.toByteArray());
db.insert("bundles", null, rows);
valueStream.close();
} catch (IOException e) {
Log.e("error writing object", e.toString());
}
}
謝謝..我要嘗試了這一點。我在搜索中沒有遇到ByteArrayOutputStream。 – cstrutton
@ cstrutton這可能不是一個完美的解決方案。我不確定Bundle是否可序列化。這可能需要調整。我現在正在研究更多。 –
@ cstrutton試一試我的更新代碼。我沒有測試它,但它*應該*工作。 –