我有我想要訪問的自定義數據庫和文件。目前我將它保存在根目錄下的一個文件夾中,但日誌說我沒有權限這麼做。在內部存儲器中存儲自定義文件的最佳位置
我不想保存應用程序資產文件夾中的文件。內部存儲器中保存文件的最佳位置是什麼?
我有我想要訪問的自定義數據庫和文件。目前我將它保存在根目錄下的一個文件夾中,但日誌說我沒有權限這麼做。在內部存儲器中存儲自定義文件的最佳位置
我不想保存應用程序資產文件夾中的文件。內部存儲器中保存文件的最佳位置是什麼?
用內部存儲/ sdcard中的起始名稱(。)創建數據庫。您也可以使用(。)作爲第一個字母創建文件夾,並將數據庫文件放入其中。這將被隱藏。
你應該在AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
爲什麼'READ_PHONE_STATE'? –
添加權限試試這個。 Context.getExternalCacheDir()
或Context.getExternalFilesDir()
該文件將存儲在SDCard/Android/data/data/<application package>/cache
或SDCard/Android/data/data/<application package>/files
中。
您應該在AndroidManifest.xml中添加權限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但是不需要Android 6.0運行時權限。
對於內部存儲,您可以使用Context.getCacheDir()或Context.getFilesDir()。該文件將保存在或data/data/<application package>/files
。對於這個地方,您不需要聲明權限。
我覺得你的數據庫文件存儲在默認位置是最好的。 data/data/<application package>/database
存儲在'getExternalFilesDir()' – ozbek