如何动态加载 strings.xml?我可以将文件放在服务器中吗?

How can I load the strings.xml dynamically? Can I put the file in a server?

为什么我问这个是因为我的 APK 很大。我想让它变小。

strings.xml 中有很多字符串。我们的产品经理迫使我们支持地球上所有的语言。

我想知道,我是否可以只将 strings.xml 的一些语言放在本地,将其他语言放在服务器中,然后当用户启动应用程序时,根据动态从中下载 strings.xml到用户的语言。

我不太清楚android加载strings.xml文件的过程。有什么想法吗?

谢谢~~

can I just put some languages of strings.xml locally, put others in a server, then when user launches the app, downloads the strings.xml from it dynamically according to the language of the user.

您不能在运行时修改资源。欢迎您在运行时下载和处理 XML 文件,这些 XML 文件可能包含您要向用户显示的字符串。但是,您不能使用 Android 资源系统来提取这些字符串。您需要编写自己的 Java 代码来使用这些值,包括确定为给定设备使用哪种翻译(考虑到 Android 7.0 中提供的多语言环境支持)。

您可以在应用程序启动时轻松调用某些 Web 服务,并以 JsonArray 的形式获取 desired/selected 语言的字符串。然后将该数据解析为一些数据模型,例如 ArrayList 字符串,以便在您的应用程序中进行管理