簡體   English   中英

sqlite數據庫在android應用程序中的位置應該是什么?

[英]What should be the location of sqlite database in android application?

目前,我正在開發一個Android應用程序,它將在服務器打開后立即從服務器下載sqlite數據庫。 我必須在應用程序中非常頻繁地使用此數據庫文件,並且必須經常從此數據庫文件中獲取數據。 因此,此數據庫在移動設備中的正確位置或目錄應該是什么,以便我可以高效地讀取/寫入此數據庫文件。

默認情況下,新創建的數據庫存儲在:

//data/data/<Your-Application-Package-Name>/databases/<your-database-name>

但是,該文件夾在非root用戶的設備上不可訪問。 通過Internet傳輸數據庫存在安全風險,但是如果絕對必要,則可以這樣修改MySQLiteOpenHelper構造函數:

public class MySQLiteOpenHelper extends SQLiteOpenHelper {
    MySQLiteOpenHelper(Context context) {
       super(context, "/mnt/sdcard/<your-app-name>/database_name.db", null, 0);
}

}

這樣,您會將數據庫存儲在SD卡上的文件夾中。

請記住,使用這種方法,您需要額外的權限才能在manifest.xml中的外部存儲上進行寫操作:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

您將在此處找到更多信息和示例: sqlite數據庫在設備上的位置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM