2011-07-29 39 views
0

我知道一個可以備份數據庫的簡單方法。它直接擁有.db文件的副本。但問題是,當您必須使用新列更新數據庫表時,那麼備份與舊設計無關。在Android中備份數據庫的正確方法?

解決方法是將數據解析並存儲到文件中。但我不確定這是多麼容易和安全。

請讓我知道你對這個主題的感受,並讓我知道如果你有一個更好的主意是頭腦。示例代碼將很方便。感謝您的建議和時間。謝謝。

回答

0

您提出了一個有趣的觀點 - 我以前沒有親自想過。

您可以始終將數據庫的「版本」存儲在數據庫文件本身(可能是文件名)中。然後,當您打開數據庫時,可以檢索其版本並讓SQLiteDatabaseHelper運行其onUpgrade()方法來添加任何新列。

+0

但是在這種情況下,如果您的數據庫使用版本1的舊數據進行備份。並且安裝了版本2。現在,如果您希望單獨從舊備份更新數據並保留新創建的列,那麼您如何執行此操作? – Vinodtiru

+1

您的onUpgrade不一定必須「如果存在則放棄」並再次進行onCreate ...您可以將特定的方法(每個數據庫升級一次)添加到必需的行/列中。如果您希望在每個新的列位置中都有特定的值,則必須遍歷表格。 –

+0

謝謝你的細節。 – Vinodtiru