Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在应用程序中提供可编辑XML的最佳实践是什么?_Android - Fatal编程技术网

Android 在应用程序中提供可编辑XML的最佳实践是什么?

Android 在应用程序中提供可编辑XML的最佳实践是什么?,android,Android,大家好,android开发者们! 我正在开发一个应用程序,其中包含包含数据的XML文件。在对这些数据进行编辑时,我将数据保存到XML文件中,因此这些文件必须是可编辑的。 我可以通过上下文的openFileOutput方法为我的应用程序使用本地存储来实现这一点。 但是,我该如何将这些数据文件和一些预先填充的数据一起发送给程序呢 我可以看到在我的res/XML或res/raw中附带一些XML文件的选项,将它们复制到本地数据存储中,但是这样我就无法删除资源中的文件,这将占用太多的存储空间 请告诉我在这

大家好,android开发者们! 我正在开发一个应用程序,其中包含包含数据的XML文件。在对这些数据进行编辑时,我将数据保存到XML文件中,因此这些文件必须是可编辑的。 我可以通过上下文的
openFileOutput
方法为我的应用程序使用本地存储来实现这一点。 但是,我该如何将这些数据文件和一些预先填充的数据一起发送给程序呢

我可以看到在我的res/XML或res/raw中附带一些XML文件的选项,将它们复制到本地数据存储中,但是这样我就无法删除资源中的文件,这将占用太多的存储空间


请告诉我在这种情况下您会怎么做?

您的应用程序中不能包含可编辑文件


因此,您必须以某种方式将它们写入本地文件系统。通过下载或通过openRawResource()将其作为原始资源包含。

应用程序中不能包含可编辑文件


因此,您必须以某种方式将它们写入本地文件系统。通过下载它们或通过openRawResource()将它们作为原始资源包含。

下载它们是一种选择吗?下载它们是一种选择吗?有没有可能在某个时候发生变化?有人猜到原因是什么吗?就是这样。据推测,所有数据文件都被视为“资源”,其方式与Windows EXE/DLL中的嵌入式资源大致相同,不打算更改。希望这会有所改变,因为发布预填充的SQLite数据库将非常有用。我建议不要使用XML,因为它在资源受限的设备上解析很慢。@phil如果建议不要使用XML,因为在资源受限的设备上解析很慢,Android是如何使用它来膨胀UI组件的?不提供可编辑文件的原因之一,您将始终能够将该应用恢复到新状态,而无需重新下载。另外,关于UI布局,Android将xml格式转换为一些二进制格式,这有助于加载和解析。在安装的APK中,最终的UI xml不是xml文本,而是xml的编译版本,处理速度要快得多。这种转换发生在构建时,使用aapt。有没有可能在某个时候发生变化,有没有人能猜出原因是什么?就是这样。据推测,所有数据文件都被视为“资源”,其方式与Windows EXE/DLL中的嵌入式资源大致相同,不打算更改。希望这会有所改变,因为发布预填充的SQLite数据库将非常有用。我建议不要使用XML,因为它在资源受限的设备上解析很慢。@phil如果建议不要使用XML,因为在资源受限的设备上解析很慢,Android是如何使用它来膨胀UI组件的?不提供可编辑文件的原因之一,您将始终能够将该应用恢复到新状态,而无需重新下载。另外,关于UI布局,Android将xml格式转换为一些二进制格式,这有助于加载和解析。在安装的APK中,最终的UI xml不是xml文本,而是xml的编译版本,处理速度要快得多。此转换在构建时使用aapt进行。