Android在资源中定义数组 在Java代码中获取数组

  次阅读 来源:互联网(转载协议) 2016-01-19 12:11 我要评论(0)

8.1.1.概述

除了在Java代码中定义数组,Android还提供了在资源中定义数组,然后在Java代码中解析资源,从而获取数组的方法。

实际开发中,推荐将数据存放在资源文件中,以实现程序的逻辑代码与数据分离,便于项目的管理,尽量减少对Java代码的修改。

8.1.2.在资源中定义数组

步骤1、在res/values文件夹下创建arrays.xml文件;

步骤2、在arrays.xml文件中创建一个数组,如下代码所示:

<?xml version="1.0" encoding="UTF-8"?>

<resources>

<string-array name="citys">

<item>北京</item>

<item>天津</item>

<item>上海</item>

<item>重庆</item>

</string-array>

</resources>

说明:

Android规定存放数组的文件必须在res/values文件夹下创建,推荐存放资源数组的文件名为arrays.xml。

以上定义了一个含有四个直辖市名称的字符串数组,数组名是citys,数组元素在<item>标签中存放。

8.1.3.Resource类

8.1.3.1.概述

Android提供了Resource类,通过该类提供的方法可以很方便地获取资源中的数据,如资源中定义的数组。

8.1.3.2.创建Resources对象

getResource();

作用:该方法是ContextWrapper类的静态方法,用于创建Resources对象。

示例:以下代码创建一个Resources对象:

Resources res=Resources.getResource();

说明:该方法必须在Context类及其子类中才能使用。

8.1.3.4.常用方法

getStringArray(int resId);

作用:获取资源索引值为resId的字符串类型的数组。

示例:以下代码将8.1.2.中创建的citys数组获取并存放在数组citys中:

Resources res=getResources();

String[] citys=res.getStringArray(R.array.citys);

提示:Resources还提供了获取int、boolean等类型的数组的方法,本章仅介绍本章代码中用到的获取字符串数组的方法。

8.2.ListView控件

8.2.1.概述

ListView是android应用程序中使用频率最高的控件。该控件使用垂直列表的方式显示多个选项,特别适合于手机这种屏幕相对较小的设备。

ListView控件的特点:每个列表项独占一行,每行的布局都相同,数据和布局分离,

数据来自适配器,ListView只负责显示,图-1是ListView的一个应用:

图-1

8.2.2.常用属性

XML属性

说明

choiceMode

设置ListView的选择方式,有三个值:

(1)none:默认方式

(1) SingleChoice:单选

(2) multipleChoice:复选

divider

设置列表项的分隔条,分隔条可以是颜色值也可以是图片

entries

指定一个字符串数组资源,用于显示在ListView中

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...