在内部存储中存储自定义文件的最佳位置

时间:2016-11-17 02:36:48

标签: android file

我有一个自定义数据库和我想要访问的文件。目前我将它保存在根目录的文件夹中,但日志说我没有这样做的权限。

我不想将文件保存在app assets文件夹中。在内部存储中保存文件的最佳位置是什么?

3 个答案:

答案 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>/cacheSDCard/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>/cachedata/data/<application package>/files。对于这个地方,您不需要声明权限。

我认为您的数据库文件存储在默认位置是最好的。data/data/<application package>/database