如何以及何时使用“提取字符串资源”?

How and when to use a 'Extract String Resource"?

我知道这对某些人来说可能是个愚蠢的问题,但 Android Studio 中的“提取字符串资源”究竟有什么作用?我知道它会更新 strings.xml 文件,但为什么要这样做我们提取它?它有什么意义?我不确定什么时候使用它? 感谢您的帮助和时间! (我是 Android Studio 的新手)。

why do we extract it?

获取在某处硬编码的文字字符串,并将其替换为字符串资源和对该字符串资源的引用。所以,你变成这样的东西:

btnSomething.setText("Foo");

与:

btnSomething.setText(R.string.foo);

和一个名为 foo<string> 资源,默认值为 Foo

原则上,您使用字符串资源进行翻译。因此,res/values/strings.xml 可能包含美国英语字符串,但 res/values-fr/strings.xml 将包含法语字符串,依此类推。

除了@CommonsWare 的回答之外,当您需要在不同的地方重复使用相同的字符串时,使用字符串资源也会有所帮助。因此,您不必在每种情况下都对字符串文字进行硬编码,而只需使用 <string> 资源即可。

这也使您的代码更易于维护,例如,对于需要更改字符串的情况,您只需转到 res/values/strings.xml 并修改该单个字符串,而不是跟踪您硬编码的位置文字字符串。