我目前正在爲我的Android應用程序的數據庫開發BackupHelper。方法Context.databaseList()
報告屬於我的應用程序的所有數據庫的名稱。但我確實遇到了很多其他文件的主要SQLite數據庫文件旁邊(如):如何處理BackupHelper和SQLite附加文件
- database.db
- database.db期刊
- database.db-SHM
- database.db -wal
所有Android文檔都會告訴每個數據庫有單個數據庫文件,但是這些信息似乎已過時。
是否保存所有這些文件與BackupHelper?
在還原之後,SQLite是否可以在所有Android平臺上使用這些文件?
非常感謝提前。
感謝。所以這是保存備份所有文件的模式「database.db *」,並在以後恢復它們? –
我還沒有做過這樣的事情,所以我很確定,但它看起來像是用於未提交更改和回滾的臨時文件,因此您可以避免備份這些文件。我建議嘗試只備份'.db'文件,看看你是否可以只用這個文件恢復數據庫... –
至少wal文件是必需的。幾個月前我與客戶進行過測試,因爲他無法看到備份數據庫中的所有條目。我們發現,wal不是傳統的日誌文件。相反,它只將提交的(!!!)條目附加到wal文件,並只在達到閾值/檢查點時纔將它們傳輸到主文件。我想我會備份我發現的所有東西... –