【Android开发基础】随机点名系统(关于读取xml资源文件)

文章目录

    • 一、引言
    • 二、设计
      • 1、读取xml
      • 2、下拉框Spinner
      • 3、随机算法
    • 三、实施
      • 1、子元素随机(单位:班级)
      • 2、父元素随机(单位:专业)
      • 3、指定人数随机
      • 4、指定人数混合排序
    • 四、附件

一、引言

  • 描述:这是2019年学习Android十天根据要求完成的点名系统,项目比较老了,那个时候也是刚开始学习Android,所以代码编写有点拉,基本没有规范,但是功能实现了,忘了当初怎么讲人员信息导入xml文件里了,好像是通过脚本将数据自动生成的xml文件。
  • 难度:初级
  • 知识点:
    1、读取xml资源文件(不可能在代码里一个一个输入,一般都是读取Excel、xml等文件)
    2、下拉框Spinner
    3、随机算法
  • 效果

二、设计

1、读取xml

  • 观察xml文件

        百来号人,我就不一一列出,同名同姓这么多,我也没贴头像,就懒得改数据了,如果遇到熟人,那可真是“泰库辣”。

【Android开发基础】随机点名系统(关于读取xml资源文件)_第1张图片

  • 读取xml

        在Java中读取xml资源文件,读取里面的数据,放入一个String数组中。简易开发,方法很简单就一行代码。

String[] strings = getResources().getStringArray(R.array.yy19_1);

2、下拉框Spinner

下拉框在初始化阶段就自动读取xml文件,就无需通过Java载入数据

<Spinner
        android:id="@+id/dm_yy_01"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_marginTop="50dp"
        android:entries="@array/yy19_1"
        android:layout_centerHorizontal="true"/>

3、随机算法

       (就粘贴部分代码,具体下载源码)随机出来的数据肯定不能有重复,所以需要在循环里添加一个查重机制。这是四年之后再次看代码,虽然是自己写的,但不得不说这个代码写得“真烂”。当然为了初学者能够明白,还是添加了这段代码,换做现在的我再去写,起码得用一个foreach,当然HashSet也不能少(懒得改)。

for (int x = 0; x < strings; x++) {
    Random XingYun = new Random();
    kelang = XingYun.nextInt(39) + 1;
    for (int y = 0; y <= x; y++) {
        if (index[y] == kelang) {
            kelang = XingYun.nextInt(39) + 1;
            y = 0;
        }
    }
    index[x] = kelang;
}

三、实施

1、子元素随机(单位:班级)

读取指定班级人员信息,进行随机点名

【Android开发基础】随机点名系统(关于读取xml资源文件)_第2张图片

2、父元素随机(单位:专业)

读取xml文件全部信息

【Android开发基础】随机点名系统(关于读取xml资源文件)_第3张图片

3、指定人数随机

指定参数:人数
选择单位:班级
实现过程:查重(防止出现重复人员)

【Android开发基础】随机点名系统(关于读取xml资源文件)_第4张图片

4、指定人数混合排序

根据班级编号排序整个专业的随机点名人员信息
适用场景:节约时间的随机点到

【Android开发基础】随机点名系统(关于读取xml资源文件)_第5张图片

四、附件

  • git地址:https://gitee.com/xu-pq/android-demo

你可能感兴趣的:(Android开发,android,xml,java)