2010-12-10 29 views
0

如何從設備文件系統將通用.db文件(不是我的資源的一部分,如contacts.db)複製到另一個位置,如sdcard? 我可以使用 -將通用.db文件複製到SD卡

InputStream ins = getResources()。openRawResource(「path to my .db file」);

然後按照上面的說明進行操作。

在此先感謝您的幫助

+0

您無法複製由Android系統或本地應用程序使用的數據庫,而無需root權限。另外你還需要一個根資源管理器。 – 2010-12-10 19:12:16

+0

你爲什麼要這麼做? – Falmarri 2010-12-10 19:12:18

回答

0

你不能在任何地方複製「通用」的數據庫文件,你甚至不能訪問它們。它們對於創建數據庫並使用它們的應用程序是私有的。

有關更多信息,請參閱Security and Permissions文檔。

當然,前提是你有機會獲得任何db文件,對於那些自己的應用程序,你可以簡單地複製爲文件(雖然你要確保這樣做之前關閉連接)。

應用程序,如聯繫人通過ContentProvider暴露自己的數據,但他們不允許你直接訪問數據庫文件(原因很明顯)。

+0

謝謝查理我會明白,編輯contacts.db文件將不被允許,但我們甚至不能複製它,併發送到服務器或像普通文件(因爲我們知道它的位置)SD卡。我們不能在manifest.xml中設置讀取權限來達到這個目的嗎?我正在嘗試編寫一個備份應用程序,並使用聯繫人API讀取所有字段非常耗時。 – 2010-12-11 02:49:59

相關問題