【问题标题】:static final String or strings.xml静态最终字符串或 strings.xml
【发布时间】:2011-04-06 21:12:42
【问题描述】:

使用 strings.xml 资源文件与定义字符串常量的接口的规则是什么。

我假设 strings.xml 资源文件将用于定义用于显示目的的非功能性字符串,例如各种语言的文本、日期呈现格式等。

接口字符串常量将用于定义正则表达式模式、Intent extras 变量名传递定义等。

【问题讨论】:

    标签: android


    【解决方案1】:

    正确。关键是您可以翻译 strings.xml 中的字符串 - 任何用英语(或任何其他语言)编写并且将向用户公开的内容都应该在 strings.xml 中,以便您可以翻译它。

    模式/正则表达式应该是字符串以获得更好的性能,除非这些正则表达式是特定于语言的。

    【讨论】:

    • strings.xml 中的模式和正则表达式?请告诉我更多!
    • 哎呀。错字。我的意思是相反的:P
    • 呵呵。太好了,现在说得通了。
    • 我正在尝试确定那条细线在哪里。我很想将电子邮件正则表达式模式与 strings.xml 文件中的特定域匹配。
    • @Turbo - 这是相关的:stackoverflow.com/questions/8407340/… 在任何情况下,任何人都可以轻松访问您的字符串,无论是在 strings.xml 中(非常简单,都在一个位置)或作为一个静态字符串(也很简单)。这就是为什么他们推荐某种简单的加密。它仍然可以被绕过,只是破解你的应用程序的人需要更长的时间。
    【解决方案2】:

    是的,string.xml 中的多语言常量,我喜欢将其他常量放在最终类中 喜欢这个:

        public final class Consts {
        public static final String URL = "http://www.google.com";
        }  
    

    这样称呼他们:

        Consts.URL;
    

    【讨论】:

      【解决方案3】:

      String str = getString(R.string.my_string_name); 可以解决问题。 将所有Strings存储在一个地方(或根据您自己的需要单独的XML文件)非常方便。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-11
        • 2016-08-24
        • 1970-01-01
        • 2017-04-29
        • 2015-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多