2010-09-07 183 views
2

我創建了一個Android應用程序,它具有某個包名,我個人已經使用了幾個月。我即將在市場上發佈它,我必須更改軟件包名稱。這是無法避免的。更改軟件包名稱,但保持數據庫在Android上

我的問題是,應用程序有一個SQLite數據庫連接到它,我想保留,但我知道如果我改變軟件包名稱,它將作爲一個單獨的應用程序安裝,我將不得不重新啓動我的數據庫,這將需要很長時間。

在維護SQLite數據庫的同時是否有一種更改包名的好方法?或者至少輕鬆移動數據庫?這只是爲了我自己的手機,因爲它尚未公佈給公衆。

回答

3

步驟#1:爲您的應用程序添加備份/恢復功能,將數據庫複製到/從SD卡。確保您的SQLiteDatabaseSQLiteOpenHelper對象先關閉。

步驟#2:使用舊包安裝此應用程序的副本到您的手機,並使用它備份數據庫。

步驟#3:將此應用程序的生產副本安裝到您​​的手機並使用它來恢復您的數據庫。

+0

這很好,謝謝。我在這裏找到了一個很棒的示例代碼:http://www.screaming-penguin.com/node/7749。一旦數據庫被導入,是否有一種簡單的方法來檢查它是否已被該應用程序保存的數據庫?在導入一些無效文件的情況下,會拋出一些隨機異常我會想象一下 – HXCaine 2010-09-09 01:35:00

+0

@HXCaine:「一旦數據庫被導入,是否有一種簡單的方法來檢查它是否已被該應用保存的數據庫? - 我可以在'sqlite_master'上執行一些查詢來查看它是否看起來不錯。 http://www.sqlite.org/faq.html#q7 – CommonsWare 2010-09-09 11:00:28

相關問題