/res/values 目录详解

/res/values 下可以放置的文件有:

  • strings.xml
  • arrays.xml
  • dimens.xml
  • colors.xml
  • styles.xml

2、arrays.xml

详解利用arrays.xml文件存放数组,并读取的过程。

方式1:

    <string-array name="proto">
        <item>刀兵</item>
        <item>龙骑</item>
        <item>黑暗圣堂</item>
        <item>电兵</item>
    </string-array>
    <string-array name="zerg">
        <item>小狗</item>
        <item>飞龙</item>
        <item>刺蛇</item>
    </string-array>
    <string-array name="terran">
        <item>机枪兵</item>
        <item>护士MM</item>
        <item>幽灵</item>
        <item>大舰</item>
    </string-array>
 1 int[] resIds = new int[] { R.array.proto, R.array.zerg, R.array.terran };
 2 String[] armType = new String[] { "神族兵种:", "虫族兵种:", "人族兵种:" };
 3 getArms(resIds, armType);
 4
 5 private void getArms(int[] ids, String[] typeNames) {
 6     int len1 = ids.length;
 7     String[][] arms = new String[len1][];
 8
 9     for (int i = 0; i < len1; i++) {
10         String[] armsType = this.getResources().getStringArray(ids[i]);
11         int len2 = armsType.length;
12         arms[i] = new String[len2];
13         System.out.println(typeNames[i]);
14         for (int j = 0; j < len2; j++) {
15             arms[i][j] = armsType[j];
16             System.out.print(arms[i][j] + " ");
17         }
18         System.out.println();
19     }
20 }

输出结果:

    

方式2:

    <string-array name="planet">
        <item>太阳</item>
        <item>水星,金星,地球,火星,木星,土星,天王星,海王星</item>
        <item>哈雷,恩克</item>
    </string-array>
 1 String[] planetType = new String[] { "恒星:", "行星:", "彗星:" };
 2 getPlanets(planetType);
 3
 4 private void getPlanets(String[] typeNames) {
 5     String[] ids = this.getResources().getStringArray(R.array.planet);
 6     int len1 = ids.length;
 7     String[][] planets = new String[len1][];
 8     for (int i = 0; i < len1; i++) {
 9         String[] planetArr = ids[i].split(",");
10         int len2 = planetArr.length;
11         planets[i] = new String[len2];
12         System.out.println(typeNames[i]);
13         for (int j = 0; j < len2; j++) {
14             planets[i][j] = planetArr[j];
15             System.out.print(planetArr[j]+" ");
16         }
17         System.out.println();
18     }
19 }

输出结果:

    

方式3:

    <string-array name="china">
        <item>@array/guangdong</item>
        <item>@array/beijing</item>
        <item>@array/yunnan</item>
    </string-array>
    <string-array name="guangdong">
        <item>广州</item>
        <item>深圳</item>
    </string-array>
    <string-array name="beijing">
        <item>北京</item>
    </string-array>
    <string-array name="yunnan">
        <item>昆明</item>
        <item>大理</item>
        <item>丽江</item>
    </string-array>

  

 1 String[] province = new String[] { "广东:", "北京:", "云南:" };
 2 getCities(province);
 3
 4 private void getCities(String[] names) {
 5     TypedArray typedArray = getResources().obtainTypedArray(R.array.china);
 6     int len1 = typedArray.length();
 7     String[][] cities = new String[len1][];
 8     for (int i = 0; i < len1; i++) {
 9         int resArrID =  typedArray.getResourceId(i, 0);
10         String[] cityArr = this.getResources().getStringArray(resArrID);
11         int len2 = cityArr.length;
12         cities[i] = new String[len2];
13         System.out.println(names[i]);
14         for (int j = 0; j < len2; j++) {
15             cities[i][j] = cityArr[j];
16             System.out.print(cityArr[j]+" ");
17         }
18         System.out.println();
19     }
20 }

输出结果:

    

对于不同数据类型的读取:

    <string-array name="FourPoets">
            <item>唐伯虎</item>
            <item>祝枝山</item>
            <item>文征明</item>
            <item>徐祯卿</item>
    </string-array>
    <integer-array name="capability">
        <item>99</item>
        <item>96</item>
        <item>90</item>
        <item>85</item>
    </integer-array>

    <array name="sex">
        <item>男</item>
            <item>女</item>
    </array>

CharSequence[] name = getResources().getTextArray(R.array.FourPoets);

int[] capability = getResources().getIntArray(R.array.price);

String[] sex = getResources().getStringArray(R.array.sex);

  默认使用<array>标签,item里面内容需以String数组形式读出。

时间: 2024-12-12 03:08:42

/res/values 目录详解的相关文章

Android转载二:工程目录详解

REF:http://blog.csdn.net/dianfusoft/article/details/7422540       可以看出这个工程由src,gen,Android2.3.3 jar包,assets,bin,res,AndroidManifest.xml,proguard.cfg,project.properties这几个文件(夹)组成,具体作用如下所示: 下面分层次详解几个重要的文件(夹) ● src文件夹 展开这个文件夹如下所示 可以看出,这个文件夹主要用来存放源文件 ●ge

Android本地化资源目录详解

我们可以设想,有两个不同分辨率的手机(320*480和480*800)要使用一些图像资源,为了使图像不失真,就需要为不同分辨率的手机指定不同的图像,为此就需要建立不同的资源目录. 在res目录中建立了3个图像资源目录:drawable.drawable-hdpi和drawable-mdpi.其中drawable为默认图像的图像资源目录,drawable-hdpi保存了在高屏幕密度(指480*800或相似的分辨率)情况系使用的图像资源,drawable-mdpi保存了中屏幕密度(值320*480或

Go语言的GOPATH与工作目录详解

这篇文章主要介绍了Go语言的GOPATH与工作目录详解,本文详细讲解了GOPATH设置.应用目录结构.编译应用等内容,需要的朋友可以参考下 GOPATH设置 go 命令依赖一个重要的环境变量:$GOPATH1 (注:这个不是Go安装目录.下面以笔者的工作目录为说明,请替换自己机器上的工作目录.) 在类似 Unix 环境大概这样设置: 复制代码 代码如下: export GOPATH=/home/apple/mygo 为了方便,应该把新建以上文件夹,并且把以上一行加入到 .bashrc 或者 .z

Tomcat--各个目录详解(二)

Tomcat整体目录: 一.bin文件(存放启动和关闭tomcat脚本) 其中.bat和.sh文件很多都是成对出现的,作用是一样的,一个是Windows的,一个是Linux. ① startup文件:主要是检查catalina.bat/sh 执行所需环境,并调用catalina.bat 批处理文件.启动tomcat. 异常:打开可能有闪退的问题.原因可能有以下两点: 1)缺少环境变量配置,startup会检查你的电脑环境变量是否有JAVA_HOME. 2)已经开启了Tomcat容器,再次开启端口

Linux系统中目录详解

1.Linux文件系统的层次结构 在Linux或Unix操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构. 文件系统的最顶层是由根目录开始的,系统使用"/"来表示根目录.在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件.如此反复就可以构成一个庞大的文件系统. 在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点"."来表示:另一个是当前目录的上一级目录,也叫父目录,可以使用两个

Server.MapPath()目录详解

最近在做相关的开发,碰到了Server.MapPath(),顺便来温习一下 Server.MapPath()获取网站的目录详解 ./当前目录 /网站主目录 ../上层目录 ~/网站虚拟目录 如果当前的网站目录为E:\www123,应用程序虚拟目录为E:\www123\wlj ,浏览的页面路径为E:\www123\wlj\haha\heihei.asp. 例子:在heihei.asp页面中的具体使用如下 Server.MapPath("./")   返回路径为:E:\www123\wlj

integer与int区别以及integer.values()方法详解

声明:本文为博主转载文章,原文地址见文末. 知识点1:integer和int的区别 /* * int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0, * 而Integer的默认值为null * ,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别 * ,则只能使用Integer * .在JSP开发中,Integer的默认为nul

linux mysql目录详解

1.mysql数据库目录 /var/lib/mysql 2.mysql配置文件目录 /usr/share/mysql 3.相关命令目录 /usr/bin 4.启动脚本目录 linux mysql目录详解

Apache常用目录详解、配置文件详解及优化、配置文件权限详解

Apache常用目录详解 1)? /etc/httpd/conf/httpd.conf???(Apache的主配文件) httpd.conf是Apache的主配文件,整个Apache也不过就是这个配置文件,里面几乎包含了所有的配置.有的distribution都将这个文件拆分成数个小文件分别管理不同的参数.但是主要配置文件还是以这个文件为主.只要找到这个文件名就知道如何设置了.后面会详细解释Apache主配文件的每一行配置 2) /etc/httpd/conf.d/*.conf ?( ?(inc