安卓工作室 : Are language xml files compiled into the apk?

标签 android xml compilation multilingual

根据 developer.android.com , 为了支持多种语言,我们应该为每种语言创建唯一的 xml 文件。他们的例子:

MyProject/
res/
   values/
       strings.xml
   values-es/
       strings.xml
   values-fr/
       strings.xml

假设一个单一语言的 xml 文档可能有数百个字符串条目,将其中许多条目 bundle 到一个应用程序中的想法似乎不必要地沉重。

那么语言xml文件是编译成.apk的吗?

或者 Android 是否有另一个系统来提供所需的语言内容(我是 android 生态圈的新手,所以我还不知道 Android 操作系统如何与其上的应用程序交互)

通常对于网站,语言内容存储在数据库中,并根据需要通过 ajax 检索。

最佳答案

默认情况下,是的。您拥有的所有 xml 文件都打包到 APK 中。因此,当用户将默认语言从“英语”更改为“法语”时,您的应用程序中的语言也会更改,而无需重新下载和/或重新安装。

但是,可以发布仅包含某些 bundle 的多个 APK,并通过 Google Play 商店将它们发布给不同的人群。这通常适用于 Drawables,它会占用大量空间,而这些空间永远不会在下载它们的手机上使用。因此,例如,对于低分辨率屏幕来说,下载具有 XXHDPI 分辨率 Assets 的应用程序是没有意义的。由于上述原因,语言通常不是一个好主意。

关于安卓工作室 : Are language xml files compiled into the apk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36985460/

相关文章:

编译/链接 OpenCV 示例 : camshiftdemo. c

compilation - 如果从命令行运行 Julia 脚本,是否每次都需要重新编译?

java - Android - 想要使用cursorLoader在 ListView 中交替图标图像

java - 如何使用带有 HTTP 的 ipp(Internet 打印协议(protocol))在 android 中打印文件?

xml - 新的和改进的澄清 : XML feed design best practice for structured data when there is no pre-existing DTD/Schema

xml - XML的弱点是什么?

c - 缺少 libgcc_s.a 怎么办

android - 如何通过我的 Activity 在 Android 中设置铃声?

java - 如何使用 Volley 进行并发 GET 调用?

python - 相同结构的示例 XML 的解析方式与完整 XML 不同