/res/values详解

# /res/values 目录详解

------

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

> * strings.xml > * arrays.xml > * dimens.xml > * colors.xml > * styles.xml

### 绘制表格

| 文件类型  |作用|temp| | --------   | -----:  | :----:  | | strings.xml     | $1600 |        | | arrays.xml   |   $12   |      | | dimens.xml    |    $1    |    |

------

## strings.xml

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

### 示例代码1

```java     int[] resIds = new int[] { R.array.proto, R.array.zerg, R.array.terran };  String[] armType = new String[] { "神族兵种:", "虫族兵种:", "人族兵种:" };  getArms(resIds, armType); ``` ```java     private void getArms(int[] ids, String[] typeNames) {   int len1 = ids.length;   String[][] arms = new String[len1][];

for (int i = 0; i < len1; i++) {    String[] armsType = this.getResources().getStringArray(ids[i]);    int len = armsType.length;    arms[i] = new String[len];    System.out.println(typeNames[i]);    for (int j = 0; j < len; j++) {     arms[i][j] = armsType[j];     System.out.print(arms[i][j] + " ");    }    System.out.println();   }  } ``` ### 示例代码2

```java     int[] resIds = new int[] { R.array.proto, R.array.zerg, R.array.terran };  String[] armType = new String[] { "神族兵种:", "虫族兵种:", "人族兵种:" };  getArms(resIds, armType); ``` ```java     private void getPlanets(String[] typeNames) {   String[] ids = this.getResources().getStringArray(R.array.planet);   int len1 = ids.length;   String[][] planets = new String[len1][];   for (int i = 0; i < len1; i++) {    String[] planetArr = ids[i].split(",");    int len2 = planetArr.length;    planets[i] = new String[len2];    System.out.println(typeNames[i]);    for (int j = 0; j < len2; j++) {     planets[i][j] = planetArr[j];     System.out.print(planetArr[j]+" ");    }    System.out.println();   }  } ``` ### 示例代码3

```java     String[] province = new String[] { "广东:", "北京:", "云南:" };  getCities(province); ``` ```java     private void getCities(String[] names) {   TypedArray typedArray = getResources().obtainTypedArray(R.array.china);   int len1 = typedArray.length();   String[][] cities = new String[len1][];   for (int i = 0; i < len1; i++) {    int resArrID =  typedArray.getResourceId(i, 0);    String[] cityArr = this.getResources().getStringArray(resArrID);    int len2 = cityArr.length;    cities[i] = new String[len2];    System.out.println(names[i]);    for (int j = 0; j < len2; j++) {     cities[i][j] = cityArr[j];     System.out.print(cityArr[j]+" ");    }    System.out.println();   }  } ```

---

---

感谢阅读!

作者 [@莫黎笙][本文地址][^code]     2015 年 01月 19日

[^code]: 本文地址,转载请保留原作者与地址。

[1]: http://www.cnblogs.com/mulisheng/p/4234870.html

时间: 2024-11-16 01:41:13

/res/values详解的相关文章

/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>

Android Preference存储、res/raw、asset、openFileOutput、sdcard存储、Cache详解

*res/raw.assets.其它存储的相同点: 两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. 两者都是只读,是不能存储数据的目录. 相同都可以放文件. *res/raw.assets.其它存储的不同点: res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类. res/raw不可以有目录结构,而assets则可以有目

[js高手之路] es6系列教程 - 迭代器,生成器,for...of,entries,values,keys等详解

接着上文[js高手之路] es6系列教程 - 迭代器与生成器详解继续. 在es6中引入了一个新的循环结构for ....of, 主要是用来循环可迭代的对象,那么什么是可迭代的对象呢? 可迭代的对象一般都有Symbol.iterator属性,你可以在控制台中用console.dir打印数组,Map,Set,在他们的原型对象(prototype)上面就能找到.这个属性与迭代器密切相关,通过该函数可以返回一个迭代器,下文,我会举一个例子.一般来说所有的集合对象(数组,Set,Map 以及字符串)都是可

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

081:QuerySet API详解-values和values_list

QuerySet API详解-values和values_list: values:用来指定在提取数据出来,需要提取哪些字段.默认情况下会把表中所有的字段全部都提取出来,可以使用values来进行指定,并且使用了values方法后,提取出的QuerySet中的数据类型不是模型,而是在values方法中指定的字段和值形成的字典: # books = Book.objects.values("id", "name", "price") # books

Yarn 详解

唐 清原, 咨询顾问 简介: 本文介绍了 Hadoop 自 0.23.0 版本后新的 map-reduce 框架(Yarn) 原理,优势,运作机制和配置方法等:着重介绍新的 yarn 框架相对于原框架的差异及改进:并通过 Demo 示例详细描述了在新的 yarn 框架下搭建和开发 hadoop 程序的方法. 读者通过本文中新旧 hadoop map-reduce 框架的对比,更能深刻理解新的 yarn 框架的技术原理和设计思想,文中的 Demo 代码经过微小修改即可用于用户基于 hadoop 新

Hadoop新MapReduce框架Yarn详解

简介 本文介绍了Hadoop自0.23.0版本后新的MapReduce框架(Yarn)原理,优势,运行机制和配置方法等,着重介绍新的yarn框架相对于原框架的差异及改进,并通过Demo示例详细介绍了在新的Yarn框架下搭建和开发Hadoop程序的方法.读者通过本文中新旧Hadoop MapReduce框架的对比,更深刻理解新的yarn框架技术与那里和设计思想,文中的Demo代码经过微小修改既可用于用户基于Hadoop新框架的实际生产环境. Hadoop MapReduceV2(Yarn)框架简介

PullScrollView详解(六)——延伸拓展(listview中getScrollY()一直等于0、ScrollView中的overScrollBy)

前言:经常说follow your heart.但等到真到这么一天的时候,却很艰难 相关文章: 1.<PullScrollView详解(一)--自定义控件属性>2.<PullScrollView详解(二)--Animation.Layout与下拉回弹>3.<PullScrollView详解(三)--PullScrollView实现>4.<PullScrollView详解(四)--完全使用listview实现下拉回弹(方法一)>5.<PullScroll

自学Python-内置函数详解

一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii 一.数学运算类 abs(x) 求绝对值1.参数可以是整型,也可以是复数2.若参数是负数,则返回负数的模 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数注意:整型.浮点型都可以 float([x]) 将一个字符串或数转换为浮点数.如果无参数将返