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!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...