Java 为什么在文本视图中使用strings.xml是一个好习惯?

Java 为什么在文本视图中使用strings.xml是一个好习惯?,java,android,android-studio,Java,Android,Android Studio,我有 aTextView.setText("Days\n" + getClassDays()); 但是,我听说使用strings.xml是正确的方法。但如果是这样,下面是我如何找到最好的方法 strings.xml <string name="course_days"><b>Days\n</b>%1$s</string> aTextView.setText(String.format(_context.getString(R.string.co

我有

aTextView.setText("Days\n" + getClassDays());
但是,我听说使用strings.xml是正确的方法。但如果是这样,下面是我如何找到最好的方法

strings.xml

<string name="course_days"><b>Days\n</b>%1$s</string>
aTextView.setText(String.format(_context.getString(R.string.course_days), getClassDays()));

正如你所看到的,它又长又丑。我错过了一个更简单的解决方案还是什么?

当你需要本地化你的应用程序时,它会让你的生活更轻松。您只需更改strings.xml文件,所有应用程序都将使用其他语言。此外,这是一种更有条理的保留字符串的方法,如果你需要更改其中一个字符串,你只会去一个地方。例如,如果您在多个活动中有相同的字符串,并且希望对其进行更改,则可以在strings.xml广告中更改一次,该广告将反映在整个活动中。更多信息。

当您需要本地化应用程序时,它会让您的生活更轻松。您只需更改strings.xml文件,所有应用程序都将使用其他语言。此外,这是一种更有条理的保留字符串的方法,如果你需要更改其中一个字符串,你只会去一个地方。例如,如果您在多个活动中有相同的字符串,并且希望对其进行更改,则可以在strings.xml广告中更改一次,该广告将反映在整个活动中。更多信息。

在字符串资源中添加粗体标记有什么意义

在string.xml和
aTextView.setText(_context.getString(R.string.course_Days),只需
Days\n%d
%d
表示int))可以正常工作


请注意,如果您在活动或片段中设置textView的值,那么它将只是
aTextView.setText(getString(R.string.course_days),getClassDays())

在字符串资源中添加粗体标记有什么意义

在string.xml和
aTextView.setText(_context.getString(R.string.course_Days),只需
Days\n%d
%d
表示int))可以正常工作


请注意,如果您在活动或片段中设置textView的值,那么它将只是
aTextView.setText(getString(R.string.course_days),getClassDays())

使用黄油刀库

@BindString(R.string.course_days)
String courseDays;
立即创建

Butterknife.bind(this);

使用黄油刀库

@BindString(R.string.course_days)
String courseDays;
立即创建

Butterknife.bind(this);

使用string.xml有很多原因

  • 避免重复: 为了拥有一个结构良好的应用程序,您不需要在不同的屏幕上重复使用字符串,假设您有5个屏幕,每个屏幕都需要显示一个祝酒词“Loading…”,然后您决定将其更改为“Please wait…”因此,您需要迭代所有5个祝酒词以进行更改,但是如果您string.xml,那么一旦使用multiple:D!
    请稍候…
  • 本地化:您永远不知道您的应用程序可能支持哪种语言,因此您将使用string.xml来存储复杂的单词,如俄语。假设您的java文件中有几十个字符串,如“ППццццццццццццццц
  • 分离:如果您正在处理包含数千行代码的大型项目,您可能编写了一些错误的文本,并且您的客户要求更正其中的一些文本,如果您使用的是string.xml,那么您可以为每个屏幕指定一个前缀,这将简化更正和重构过程。以下是一个示例:

    
    欢迎
    登录
    你好!
    


  • 快乐编码

    使用string.xml有很多原因

  • 避免重复: 为了拥有一个结构良好的应用程序,您不需要在不同的屏幕上重复使用字符串,假设您有5个屏幕,每个屏幕都需要显示一个祝酒词“Loading…”,然后您决定将其更改为“Please wait…”因此,您需要迭代所有5个祝酒词以进行更改,但是如果您string.xml,那么一旦使用multiple:D!
    请稍候…
  • 本地化:您永远不知道您的应用程序可能支持哪种语言,因此您将使用string.xml来存储复杂的单词,如俄语。假设您的java文件中有几十个字符串,如“ППццццццццццццццц
  • 分离:如果您正在处理包含数千行代码的大型项目,您可能编写了一些错误的文本,并且您的客户要求更正其中的一些文本,如果您使用的是string.xml,那么您可以为每个屏幕指定一个前缀,这将简化更正和重构过程。以下是一个示例:

    
    欢迎
    登录
    你好!
    


  • 快乐编码

    啊。但是如果我不打算使用多语言支持,那么使用strings.xml没有其他好处,对吗?是的,请参阅编辑。这是一个很好的实践,可以让你的应用程序更有条理,让你的工作更轻松。但是如果我不打算使用多语言支持,那么使用strings.xml没有其他好处,对吗?是的,请参阅编辑。这是一个很好的实践,可以让你的应用程序更有条理,让你的工作更轻松。啊,这就是为什么getString()不适合我的原因。我没有在活动中设置textview。很高兴知道,谢谢。这就是为什么getString()不适合我的原因。我没有在活动中设置textview。很高兴知道,谢谢。您应该使用样式和主题进行格式化,而不是HTML。@代码学徒如何使用styles.xml实现这一点?名称:我的名称我建议您阅读文本视图的文档,了解如何修改其外观,包括将文本加粗。您应该使用样式和主题进行格式设置,而不是HTML。@代码学徒如何使用styles.xml实现这一点?名称:我的名字我建议您阅读文本视图的文档,了解如何修改它的外观