对于我的项目,我使用 xml 文件来获取信息。我知道这可以存储在资产文件夹或资源/原始文件夹中。我的问题是我必须修改 xml dom 并再次写回文件作为持久存储。
我读过我无法写回资产文件夹中的文件。但是不知道资源文件夹中的文件?
为此,我可以将文件保存在哪里?将文件存储在 sdcard 中是唯一可能的选择吗?
谢谢
对于我的项目,我使用 xml 文件来获取信息。我知道这可以存储在资产文件夹或资源/原始文件夹中。我的问题是我必须修改 xml dom 并再次写回文件作为持久存储。
我读过我无法写回资产文件夹中的文件。但是不知道资源文件夹中的文件?
为此,我可以将文件保存在哪里?将文件存储在 sdcard 中是唯一可能的选择吗?
谢谢
我会将文件包含在 res/raw 中,然后在文件目录中为您的应用程序创建一个本地副本。在应用程序初始化时,您可以检查它是否存在于外部存储中,如果不存在,则从 res/raw 重新加载它。
不用太深入细节,可能是这样的:
File filesDir = context.getFilesDir();
File xml = new File(filesDir, YOUR_FILE_NAME);
if(xml.exists() {
/* load data from filesDir */
} else {
/* load data from res/raw and save to filesDir */
}
将文件存储在 sdcard 中是唯一可能的选择吗?
是的,您也可以将文件存储在内部存储器中。
您没有修改 apk 文件的权限。