2016-04-24 42 views
0

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

+0

內容提供商,syncadapter – Pomagranite

回答

0

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

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

但是這個文件夾是不可訪問的非根設備。傳輸通過互聯網數據庫是有風險的安全,但如果它是絕對必要的,你可以修改這樣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" /> 

你會發現更多的信息和例子在這裏:Location of sqlite database on the device

相關問題