我創建了一個Android應用程序,它具有某個包名,我個人已經使用了幾個月。我即將在市場上發佈它,我必須更改軟件包名稱。這是無法避免的。更改軟件包名稱,但保持數據庫在Android上
我的問題是,應用程序有一個SQLite數據庫連接到它,我想保留,但我知道如果我改變軟件包名稱,它將作爲一個單獨的應用程序安裝,我將不得不重新啓動我的數據庫,這將需要很長時間。
在維護SQLite數據庫的同時是否有一種更改包名的好方法?或者至少輕鬆移動數據庫?這只是爲了我自己的手機,因爲它尚未公佈給公衆。
我創建了一個Android應用程序,它具有某個包名,我個人已經使用了幾個月。我即將在市場上發佈它,我必須更改軟件包名稱。這是無法避免的。更改軟件包名稱,但保持數據庫在Android上
我的問題是,應用程序有一個SQLite數據庫連接到它,我想保留,但我知道如果我改變軟件包名稱,它將作爲一個單獨的應用程序安裝,我將不得不重新啓動我的數據庫,這將需要很長時間。
在維護SQLite數據庫的同時是否有一種更改包名的好方法?或者至少輕鬆移動數據庫?這只是爲了我自己的手機,因爲它尚未公佈給公衆。
步驟#1:爲您的應用程序添加備份/恢復功能,將數據庫複製到/從SD卡。確保您的SQLiteDatabase
和SQLiteOpenHelper
對象先關閉。
步驟#2:使用舊包安裝此應用程序的副本到您的手機,並使用它備份數據庫。
步驟#3:將此應用程序的生產副本安裝到您的手機並使用它來恢復您的數據庫。
任何人想要做同樣的事情,我已經寫了怎麼辦備份/導入/數據庫的恢復和包括整個班級在這個環節做:
http://www.hxcaine.com/blog/2010/09/14/backing-up-importing-and-restoring-databases-on-android/
這很好,謝謝。我在這裏找到了一個很棒的示例代碼:http://www.screaming-penguin.com/node/7749。一旦數據庫被導入,是否有一種簡單的方法來檢查它是否已被該應用程序保存的數據庫?在導入一些無效文件的情況下,會拋出一些隨機異常我會想象一下 – HXCaine 2010-09-09 01:35:00
@HXCaine:「一旦數據庫被導入,是否有一種簡單的方法來檢查它是否已被該應用保存的數據庫? - 我可以在'sqlite_master'上執行一些查詢來查看它是否看起來不錯。 http://www.sqlite.org/faq.html#q7 – CommonsWare 2010-09-09 11:00:28