设计内容:
设计开发一个简单的“学生选课系统”APP,并实现基本的选课功能,查询功能。主要功能及要求:
(1)能够实现学生基本信息的录入、修改、删除等操作,其中学生信息包括班号、学号、性别等;
(2) 能够实现课程信息的录入、修改、删除等功能,其中课程信息包括课程号、课程名、学分等;
(3)能实现选课功能,每个学生有选修学分限制,超出可选学分限制会提示;
(4)能方便的对学生选课情况进行查询,可以根据学号、姓名、班级、课程名等多种方式查询;
(5)有汇总功能,能对每个学生的选修学分汇总,并对选修学分不足的学生进行筛选。
我现在说一下recyclerview
首先要知道 手机屏幕上的列表视图(listview recyclerview grideview等)有很多条目,比如你微信有1000个好友,你在好友界面去滑动去看 不可能加载1000个view给你 内存不够。所以就需要复用view 。其实就是一个类,这个类里会有view。就是adapter里的viewholder viewholder最多只有X个(X为你屏幕上能显示的最多条目) 当往下滑动 最上面的消失后他会自动清掉view 重新加载下一个view 依次循环 这就是adapter里viewholder的作用
这个项目里我用了两个viewholder 一个是正常的样子 normal 一个是foot foot就是没有更多了 这个view 本质就是一个textview
使用recyclerview的步骤:
1.初始化recyclerview(findviewbyid)
2.初始化adapter对象
3.初始化layoutmanager对象(用来展示不同的效果,可以自定义)
调用recyclerview.setadapter() .setLayoutmanager即可
刷新数据使用adapter的notifydatasetchanged方法
layoutmanager这里就用系统自带的 LinearLayoutmanager 就是用来展示一个最普通的 线性布局
adapter需要自己写 主要写以下方法
1.getItemcount 返回条目的数量 这里我全都+了1 因为还有foot
2.onCreateviewholder 返回一个viewholder
3.onBindviewholder 在这个方法里需要给对应条目设置数据(课程名之类的东西)以及加点击事件 方法参数里有position告诉你现在是第几个item 你就去data里去取出来对应的对象 然后给itemview设置数据
每个item两个按钮 上面的用来选课 下面的用来取消选课。
但是已经选过的要给出提示 所以 两个按钮都有两种状态 只说一个
上面的选课按钮
这个界面是从数据库查课程 你登录完了不是保存了Global.student 那么你就可以获取到登录用户已经选了哪些课程 你可以根据name来判断也可以根据id来判断 判断是否存在 存在就把文字设置为已选 不存在就设置为选课 当点击的时候 判断文字来判断状态 已选就提示不能重复选 选课就执行选课的逻辑:给对应的course更新状态(选课人数)、给当前登录的学生更新状态(学分、选课的课名、ID)
网友评论