android字符串资源文件在哪个目录
3个回答
2015-04-22 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
Android 提供三种类型的字符串资源。
String 提供一个单独的字符串
String Array 提供一个字符串数组
Quantity Strings(Plurals) 为不同的数量提供不同的字符串适配
String
一个单独的字符串,定义在xml文件里,可以供 layout xml 引用,也可以供 Java 读取。一般默认的,在 res/values/strings.xml 里可以定义 <string name="helloworld">Hello World</string>。下面是一个完整的 xml 内容。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="string_name">text_string</string>
</resources>
其中的 name 对应的就是 key,每个字符串都需要有一个单独的 key 。必须单独的,如果有重复的,编译器可能不会报错,但是运行的时候,可能会读不到你想要的内容。这个就不用深入解释了,理所应当的,key 必须唯一,没啥好商量的。但是 xml 文件可以有多个。很多人喜欢把所以的字符串都放在 strings.xml 里。这是开发工具默认帮你生成的。但是随着项目的持续开发,项目越来越大的时候,我还是建议可以分成多个文件的。这样有利于代码的阅读,而且不会影响运行的效率,多出来的工作在编译的时候已经做好了。
使用方法:
在layout xml 里使用,例如
<TextView android:text="@string/helloworld"/>
或者在 Java code 里使用
String string = getString(R.string.helloworld);
getString(int) 和 getText(int) 都可以返回字符串内容,不同的是 getText(int) 可以返回富文本(rich text)字符串。富文本就是加粗啊,斜体啊之类的简单的样式,下面会说。
String Array
字符串数组,可以定义在 strings.xml 里,也可以定义在其他的 xml 里。
<string-array name="string_array_name">
<item>text_string</item>
</string-array>
一个 string-array 里可以有 N 多个 item。同样,name 也必须唯一。item 可以是一个字符串,也可以是另外一个字符串的引用。使用:
Resources res = getResources();
String[] strings = res.getStringArray(R.array.string_array_name);
这样就得到了一个字符串数组了。
Quantity Strings(Plurals)
带数量的字符串。在很多语言里,不同的数量的文字的表达方式有些不同。比如在英文里,一本书表示为 one book . 两本书表示为 two books 。在单词上,或者在语法上,就有很多的不一样的地方,这样一个字符串就可能搞不定了。
这个时候 Quantity Strings 就可以帮你搞定这个问题。
语法是这样子的:
<resources>
<plurals name="plural_name">
<item quantity=["zero" | "one" | "two" | "few" | "many" | "other"] >text_string</item>
</plurals>
</resources>
name 也就是 ID,唯一,不废话
item 可以有多个,每个 item 都有 quantity 属性,每个 item 的 quantity 属性不能一样。
zero 表示没有;one 表示一个,单数;two 表示两个,或者一对,一双;few:表示很少;many:表示挺多的;other:表示其他。
使用:
int count = getNumberOfsongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);
String 提供一个单独的字符串
String Array 提供一个字符串数组
Quantity Strings(Plurals) 为不同的数量提供不同的字符串适配
String
一个单独的字符串,定义在xml文件里,可以供 layout xml 引用,也可以供 Java 读取。一般默认的,在 res/values/strings.xml 里可以定义 <string name="helloworld">Hello World</string>。下面是一个完整的 xml 内容。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="string_name">text_string</string>
</resources>
其中的 name 对应的就是 key,每个字符串都需要有一个单独的 key 。必须单独的,如果有重复的,编译器可能不会报错,但是运行的时候,可能会读不到你想要的内容。这个就不用深入解释了,理所应当的,key 必须唯一,没啥好商量的。但是 xml 文件可以有多个。很多人喜欢把所以的字符串都放在 strings.xml 里。这是开发工具默认帮你生成的。但是随着项目的持续开发,项目越来越大的时候,我还是建议可以分成多个文件的。这样有利于代码的阅读,而且不会影响运行的效率,多出来的工作在编译的时候已经做好了。
使用方法:
在layout xml 里使用,例如
<TextView android:text="@string/helloworld"/>
或者在 Java code 里使用
String string = getString(R.string.helloworld);
getString(int) 和 getText(int) 都可以返回字符串内容,不同的是 getText(int) 可以返回富文本(rich text)字符串。富文本就是加粗啊,斜体啊之类的简单的样式,下面会说。
String Array
字符串数组,可以定义在 strings.xml 里,也可以定义在其他的 xml 里。
<string-array name="string_array_name">
<item>text_string</item>
</string-array>
一个 string-array 里可以有 N 多个 item。同样,name 也必须唯一。item 可以是一个字符串,也可以是另外一个字符串的引用。使用:
Resources res = getResources();
String[] strings = res.getStringArray(R.array.string_array_name);
这样就得到了一个字符串数组了。
Quantity Strings(Plurals)
带数量的字符串。在很多语言里,不同的数量的文字的表达方式有些不同。比如在英文里,一本书表示为 one book . 两本书表示为 two books 。在单词上,或者在语法上,就有很多的不一样的地方,这样一个字符串就可能搞不定了。
这个时候 Quantity Strings 就可以帮你搞定这个问题。
语法是这样子的:
<resources>
<plurals name="plural_name">
<item quantity=["zero" | "one" | "two" | "few" | "many" | "other"] >text_string</item>
</plurals>
</resources>
name 也就是 ID,唯一,不废话
item 可以有多个,每个 item 都有 quantity 属性,每个 item 的 quantity 属性不能一样。
zero 表示没有;one 表示一个,单数;two 表示两个,或者一对,一双;few:表示很少;many:表示挺多的;other:表示其他。
使用:
int count = getNumberOfsongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询