我有一个自定义数据库和我想要访问的文件。目前我将它保存在根目录的文件夹中,但日志说我没有这样做的权限。
我不想将文件保存在app assets文件夹中。在内部存储中保存文件的最佳位置是什么?
答案 0 :(得分:0)
在内部存储/ sdcard中创建名称以(。)开头的数据库。您还可以使用(。)作为第一个字母创建文件夹,并将数据库文件放入其中。这将被隐藏。
答案 1 :(得分:0)
您应该在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"/>
答案 2 :(得分:0)
试试这个。
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>/cache
或data/data/<application package>/files
。对于这个地方,您不需要声明权限。
我认为您的数据库文件存储在默认位置是最好的。data/data/<application package>/database