我知道这对某些人来说可能是一个愚蠢的问题,但Android Studio中的'Extract String Resource'究竟做了什么?我知道它更新了strings.xml文件,但为什么要提取它呢?有什么意义呢?它?我不确定何时使用它? 谢谢你的帮助和时间! (我是Android Studio新手。)
答案 0 :(得分:1)
为什么我们提取它?
获取一个文字字符串,在某处进行硬编码,并将其替换为字符串资源和对该字符串资源的引用。所以,你转过这样的话:
btnSomething.setText("Foo");
使用:
btnSomething.setText(R.string.foo);
以及名为<string>
的{{1}}资源,其默认值为foo
。
主要是,您使用字符串资源进行翻译。因此,Foo
可能包含美国英语字符串,但res/values/strings.xml
会包含法语字符串,依此类推。
答案 1 :(得分:0)
除了@CommonsWare的答案之外,当您需要在不同的地方重用相同的字符串时,使用字符串资源也会有所帮助。因此,不要在每种情况下对字符串文字进行硬编码,而只使用<string>
资源。
这也使您的代码更易于维护,例如,在您需要更改字符串的情况下,您只需转到res/values/strings.xml
并修改该单个字符串,而不是在您对文字字符串进行硬编码时进行跟踪