Android在(zài)資源文件(res/strings.xml)定義一維數組, - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

Android在(zài)資源文件(res/strings.xml)定義一維數組,

發表時(shí)間:2020-12-6

發布人(rén):融晨科技

浏覽次數:63


經常我們會在(zài)資源文件(res/strings.xml)定義字符串,一維數組,那定義二維數組?直接定義二維數組沒找到(dào),可以(yǐ)間接定義。
其實很簡單,看過用過一次就(jiù)可以(yǐ)記住了(le/liǎo),一維數組估計大(dà)家經常用到(dào),但是(shì)二維數組應該比較少用,因爲(wéi / wèi)隻能間接定義二維數組。
數組的(de)定義:
數組就(jiù)是(shì)一次性定義相同數據類型的(de)一組變量數組定義。
數組的(de)特點:
1.數組是(shì)相同數據類型的(de)元素的(de)集合。
2.數組中的(de)各元素是(shì)有先後順序的(de),它們在(zài)内存中按照這(zhè)個(gè)先後順序連續存放在(zài)一起。
3.數組元素用整個(gè)數組的(de)名字和(hé / huò)它自己在(zài)數組中的(de)順序位置來(lái)表示。例如,a[0]表示名字爲(wéi / wèi)a的(de)數組中的(de)第一個(gè)元素,a[1]代表數組a的(de)第二個(gè)元素。
先來(lái)看看字符串是(shì)怎麽定義的(de)。其中,添加注釋的(de)方法:<!-- 注釋内容 -->
?

1
2

<!-- 字符串 -->
<string name="hello_world">Hello world!</string>

當然在(zài)java中這(zhè)樣定義:String a = "Hello world"; 或者String s = new String("abcdefghijklmnopqrstuvwxyz");
一、一維數組
?

1
2
3
4
5
6
7

<!-- 一維數組 -->
<string-array name="good">
  <item>a</item>
<item>b</item>
<item>c</item>
<item>d</item>
</string-array>

在(zài)java代碼獲取資源中的(de)數組方法
?

1
2
3

Resources res =getResources();
// 取xml文件格式的(de)字符數組
String[] good=res.getStringArray(R.array.good);

順便看看在(zài)java中如何定義:String[] s = {"a","b","c","d"};
二、二維數組
到(dào)這(zhè)裏,你知道(dào)二維數組怎麽定義麽,是(shì)不(bù)是(shì)還要(yào / yāo)想一下呢,其實是(shì)不(bù)能直接在(zài)資源文件中定義二維數組的(de),所以(yǐ)隻能用間接的(de)方式來(lái)獲取二維數組,多維數組一樣這(zhè)樣間接來(lái)定義獲取。
?

1
2
3
4
5

<!-- 用一維數組的(de)方式間接定義二維數組 -->
<array name="two">
<item>a,b,c,d,e,f,g</item>
<item>h,i,g,k,l,m,n</item>
</array>

用java解析上(shàng)面的(de)一維數組爲(wéi / wèi)二維數組
?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Resources res =getResources();
// 取xml文件格式的(de)字符數組
String[] array = res.getStringArray(R.array.two);
String[][] result = getTwoDimensionalArray(array);
/**
* 按設定規則解析一維數組爲(wéi / wèi)二維數組
* @param array
* @return
*/
private String[][] getTwoDimensionalArray(String[] array) {
String[][] twoDimensionalArray = null;
for (int i = 0; i < array.length; i++) {
String[] tempArray = array[i].split(",");
if (twoDimensionalArray == null) {
twoDimensionalArray = new String[array.length][tempArray.length];
}
for (int j = 0; j < tempArray.length; j++) {
twoDimensionalArray[i][j] = tempArray[j];
}
}
return twoDimensionalArray;
}

這(zhè)裏提供的(de)僅僅是(shì)一個(gè)方式,這(zhè)樣國(guó)際化多語言的(de)時(shí)候就(jiù)可以(yǐ)用上(shàng)場。很明顯,這(zhè)樣多了(le/liǎo)一個(gè)解析的(de)過程,慢了(le/liǎo)很多。或者在(zài)設計上(shàng)不(bù)用二維數組也(yě)行,用其他(tā)方法。可能你會覺得直接在(zài)java中定義就(jiù)好了(le/liǎo):
類似于(yú)int a[2][3]={{1,2,3},{4,5,6}};
這(zhè)裏隻是(shì)提供一種方式,不(bù)是(shì)最好,或許你還有更好的(de),請留言。



其他(tā)精彩文章文章

jQuery教程(10)-DOM樹操作之(zhī)内容setter和(hé / huò)getter方法

android學習筆記(37)使用 DatePickerDialog、TimePickerDialog


android學習筆記(36)使用AlertDialog創建自定義對話框


jQuery教程(1)-操作DOM之(zhī)操作屬性

Spring mvc新手入門(11)-返回json 字符串的(de)其他(tā)方式


更多關于(yú)android開發文章


相關案例查看更多