Android应用程序的strings.xml文件中只能存放一些字符串常量信息。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android应用程序的strings.xml文件中只能存放一些字符串常量信息。相关的知识,希望对你有一定的参考价值。

参考技术A 一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文。这样做国际化非常的方便。

Android - 我啥时候应该在 Strings.xml 资源文件中转义 unicode?

【中文标题】Android - 我啥时候应该在 Strings.xml 资源文件中转义 unicode?【英文标题】:Android - When should I escape unicode in Strings.xml resource file?Android - 我什么时候应该在 Strings.xml 资源文件中转义 unicode? 【发布时间】:2021-09-11 00:52:14 【问题描述】:

根据文档,在 strings.xml 文件中应使用带有 \u 前缀的 unicode 字符。例如使用\u00a9 而不是©

<string name="copyright_text">Copyrighted ©</string>

但是,如果我直接写 ©,即使在 API 21 中它似乎也能正常工作。除了灰 &、 等其他更有影响力的字符之外,是否真的需要转义?

【问题讨论】:

【参考方案1】:

我没有明确的权威可以指出,但根据我个人的经验,我发现使用\u 符号的唯一原因是角色在视觉上模棱两可。例如,我使用\u2013 而不是实际的短划线字符"–",因为字形在视觉上与标准连字符"-" 非常相似。另一种常见的情况是使用\u00a0 而不是实际的不间断空格字符。

据我所知,没有技术原因不在字符串文件中使用 unicode 字符,只要文件本身使用支持它们的字符编码即可。

请注意,Android Studio 的 lint 功能实际上会提示您在某些场景中使用这些特殊字符:

应用建议的修复程序会留下省略号字符 "…",而不是编码。

【讨论】:

以上是关于Android应用程序的strings.xml文件中只能存放一些字符串常量信息。的主要内容,如果未能解决你的问题,请参考以下文章

Android应用程序的strings.xml文件中只能存放一些字符串常量信息。

Android - 我啥时候应该在 Strings.xml 资源文件中转义 unicode?

Android:将 Json 对象转换为 Strings.xml

转载不可不知的 Android strings.xml 那些事

Android字符串在strings.xml文件的定义和使用

Ionic Android UnhandledPromiseRejectionWarning strings.xml