• /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数组形式读出。

  • 相关阅读:
    基于Debian的发行版Linux系统安装包命令
    戴尔服务器如何配置远程管理卡(IDRAC9)适用于戴尔R740服务器
    Tracert 命令
    Ubuntu 18.04 进入单用户模式修改密码
    华为eNSP模拟器— telnet实验
    华为交换机Console口属性配置
    Ubuntu 16.04 Bridge配置
    Ubuntu 16.04 配置单网卡绑定多IP
    springboot搭建web项目与使用配置文件
    读书笔记《SpringBoot编程思想》
  • 原文地址:https://www.cnblogs.com/mulisheng/p/4833202.html
Copyright © 2020-2023  润新知