美文网首页
不要硬编码任何字符串,对需要替换的字符串使用占位符

不要硬编码任何字符串,对需要替换的字符串使用占位符

作者: Artyhacker | 来源:发表于2016-12-16 16:21 被阅读0次

    养成良好的开发习惯

    不要硬编码任何字符串,将所有字符串放入strings.xml中

    字符串中的占位符

    对于不必翻译的文本,如代码、某个值的占位符、特殊符号或名称等,使用<xliff:g>占位符标记。使用占位符时,务必添加id属性来说明占位符用途;如果应用会替换该占位符的值,务必提供示例属性来说明预期用途。

    三个例子:“30.5°”、“40分钟”、“(说明)”

    1. 不要使用tv.setText(temp + "°");tv.setText(min + "分钟");tv.setText("(" + 说明 + ")");这样的硬编码。
    2. 在strings.xml中定义字符串:
    <!--对特殊符号使用Unicode编码-->
    <string name="format_temperature">
         <xliff:g id="temperature">%1.0f</xliff:g>\u00B0
    </string>
    <string name="format_time">
         <xliff:g id="time">%d</xliff:g>分钟
    </string>
    <string name="format_description">
        \u0028<xliff:g id="description">%s</xliff:g>\u0029
    </string>
    
    1. 在代码中使用:
    float temp = 30.5; int min = 40; String des = "说明"(不推荐这么写,仅示例);
    tv.setText(context.getString(R.string.format_temperature, temp)); //30.5°
    tv.setText(context.getString(R.string.format_time, min));//40分钟
    tv.setText(context.getString(R.string.format_description, des));//(说明)
    

    相关文章

      网友评论

          本文标题:不要硬编码任何字符串,对需要替换的字符串使用占位符

          本文链接:https://www.haomeiwen.com/subject/xcinmttx.html