2011-09-07 111 views
3

有沒有辦法替換完整的SQLite數據庫?我正在研究構建一個包含大量數據的應用程序,我需要能夠更新它。幸運的是,我能夠驗證數據庫結構不會改變,只是數據。有沒有一種乾淨的方式來做到這一點?如何替換SQLite數據庫

- EDIT--

道歉 - 我需要添加更多的細節:

爲了在應用程序更新數據,該計劃是隻需更換將從一個被抓住的DB服務器在某處。所以我不會使用onUpgrade或手動添加數據 - 我想轉儲現有文件並複製新文件以替換舊文件。

我認爲DB通常會存儲在「/ data/data/YOUR_PACKAGE/databases /」中,我有權訪問此目錄嗎?在這種情況下,我可以JST從服務器下載文件,並將其複製在上面(顯然確保沒有什麼是第一個訪問該文件等)

+2

好,SQLite數據庫只是一個文件。所以,如果你想開始一個新的數據庫,然後開始一個新的文件... – 2011-09-07 15:46:07

回答

0
SQLiteOpenHelper

onUpgrade方法,如果一個新的數據庫版本通過調用該方法的構造函數傳遞。 在這裏你可以刪除數據庫並創建一個新的數據庫,或者你可以改變和創建表格。

0

不清楚你想要做什麼。

如果應用程序是隻讀的並且使用在應用程序外創建的SQLite數據庫,那麼您可以簡單地替換SQLite數據庫文件。

如果要在數據庫中替換個別的而不改變應用程序的可寫表,則可以從現有表中刪除數據並使用INSERT INTO從不同數據庫獲取數據。您也可以使用提供的命令行工具和「.import」命令從CSV文件加載。