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

一、引言

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

二、设计

1、读取xml

  • 观察xml文件

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

在这里插入图片描述

  • 读取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、子元素随机(单位:班级)

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

在这里插入图片描述

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

读取xml文件全部信息

在这里插入图片描述

3、指定人数随机

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

在这里插入图片描述

4、指定人数混合排序

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

在这里插入图片描述

四、附件

  • git地址:https://gitee.com/xu-pq/android-demo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端new守夜人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值