4
我正在尋找方法在Android手機上備份我的應用程序的數據庫。我知道SQLite數據庫只是文件,所以我希望能夠將文件複製到SD卡(如果有)。Android數據庫備份
但是,我不確定如何準備備份/恢復的數據庫/活動。
開始時,我的主要活動是從數據庫中的一個表中讀取條目,並將它們顯示在ListView
中。如API的「註釋」示例所示,我有一個遊標,會自動通知有關該表的更改(當我添加/刪除/更新表中的記錄時,會自動更新ListView
)。
所以:當我將數據庫文件複製到SD卡時,我不應該有問題。但是,如果用戶想要恢復數據庫文件呢?我不能只是將文件複製回數據文件夾,我可以(編輯:...而視圖顯示數據庫中的數據,因此可能保持打開連接)?
在執行備份/恢復時,什麼是「最佳實踐」?一種方法我認爲是:
- 打開一個特殊的「恢復」保存沒有打開數據庫連接
- 呼叫
finish()
爲 主要活動活動 將其刪除並關閉 數據庫連接 - 複製數據庫文件
- 打開主活動的新「實例」
- 調用
finish()
進行「恢復」活動
難道這是要走的路嗎?感謝您的任何建議!
我的意思是當視圖打開連接時我無法複製文件。當我完成從數據庫檢索數據的視圖時,所有連接都應該關閉,對吧? – 2010-02-10 11:12:40
是的,這是正確的,你有正確的想法。 – 2010-02-10 13:37:17
好的,謝謝,我會試試看! – 2010-02-11 11:20:52