设计内容:

设计开发一个简单的“学生选课系统”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)

Android怎么实现选课功能,选课系统android相关推荐

  1. android输入法开发软件,开发安卓系统Android和码输入法软件的全过程(二)

    2012年01月20日星期五 Android IMF给输入软件的编写给出的规范,也提供了很多的方便.这里从例子程序SoftKeyboard来认识. 1.软键盘界面的设计,可以用XML文件来做,这真是很 ...

  2. Android实现换发型功能,实现一个Android中更换头像功能

    实现一个Android中更换头像功能 本文原创,转载请经过本人准许 写在前面: 更换头像这个功能在用户界面几乎是100%出现的.通过拍摄照片或者调用图库中的图片,并且进行剪裁,来进行头像的设置. 功能 ...

  3. android应用换肤功能,如何给Android应用更换皮肤

    Android应用更换皮肤功能的实现思路 我们可以将皮肤包做成一个apk文件,在应用apk中读取皮肤包中的数据. 应用apk读取皮肤包apk的数据的条件 1. 有相同签名 2. AndroidMani ...

  4. win10如何android skd,雨林木风win10系统android sdk manager 无法更新的步骤介绍

    现如今,几乎家家户户都有一台电脑,当我们操作雨林木风win10系统的过程中常常会碰到雨林木风win10系统android sdk manager 无法更新的问题,有什么好的办法去解决雨林木风win10 ...

  5. Android 拍照和图库功能(适配Android 6.0和7.0系统和华为机型问题)

    众所周知,调用相机拍照和图库中获取图片的功能,基本上是每个程序App必备的. 实现适配Android每个版本,国内手机,要处理的问题却也不少.例如:Android6.0权限问题,Android7.0 ...

  6. android中屏保功能项目,【Android】一段时间不操作弹出【屏保】效果

    仿屏保效果 最近项目的一个小Demo,和大家分享一下,本篇文章主要展示的是一个仿屏保的效果,用户在一段时间不操作会自动弹出屏保页面,当处于屏保页面的时候,[两秒内连续]按两次键盘[回车键]就会退出屏保 ...

  7. android中隐藏的功能,iOS与Android的奥秘:那些你未必了解的隐藏功能

    [51CTO译文]也许大家自认为已经堪称高科技领域的老鸟用户,透彻了解关于iOS与Android系统的一切小秘密--但实际情况恐怕并非如此:总会有一些在说明文档中未有提及(或者未有明确提及)的命令.控 ...

  8. android 信息添加附件功能,网易邮箱Android新版 添加附件可直接预览

    网易邮箱Android客户端近日发布了新版本V2.3,新版安卓客户端对附件处理做出较大改进.用户转发邮件附件时,不需要下载到本地实现直接转发,更加方便:写信时,添加附件由原先的列表形式变成预览图形式, ...

  9. android中的后退功能,如何在Android应用中实现一个返回键功能

    如何在Android应用中实现一个返回键功能 发布时间:2020-11-23 16:28:56 来源:亿速云 阅读:89 作者:Leah 今天就跟大家聊聊有关如何在Android应用中实现一个返回键功 ...

最新文章

  1. 蜻蜓大脑算法速度超快,AI科学家:拿来吧你
  2. OSS控制台集成将数据库实时备份到OSS的功能
  3. 小程序开发填坑汇总贴
  4. 企业移动化诉求与开发者之间的矛盾
  5. Apache服务器二级域名的完美实现
  6. 砥志研思SVM(二) 拉格朗日乘子法与KKT条件
  7. 运行java是提示 选择未包含 main 类型 如何解决_RuoYi 若依 代码生成器使用教程...
  8. 热点账户高并发解决方案
  9. Delphi FireMonkey 的动画以及多线程
  10. java 拼音识别_java 解析汉字拼音
  11. Zemax学习笔记(11) - 变焦镜头设计实例
  12. Scrum立会报告+燃尽图(十月十一日总第二次):需求分析
  13. C++ 使用命令行编译程序
  14. html两个tab页面,html如何实现tab页面切换
  15. EMQ 助力阿里云洛神云网络构建新一代“亿级并发、百万级吞吐”NLB 网络型负载均衡系统
  16. Python实战案例分享:爬取当当网商品数据
  17. 使用JTAG的工具Jflash刷写S32DS生成的HEX文件
  18. iebook第一门户抢滩中国企业电子商刊(杂志)市场
  19. linux的shell脚本报错“syntax error near unexpected token `”的解决
  20. 微信小程序自定义标签组件component封装、组件生命周期,组件通信

热门文章

  1. .NET平台PE结构分析之Metadata(一)
  2. ue4加载本地版本_UE4中的本地化文本Localization Dashboard(多语言版本匹配)
  3. 特征图注意力_向往的GAT(图注意力模型)
  4. mac mini mysql 安装_怎么在MacMini上安装ubuntu,Mac OS X 讨论区
  5. moosefs分布式文件系统
  6. P1111 修复公路(并查集)
  7. flask返回json数据到前端_小白学Flask第六天| abort函数、自定义错误方法、视图函数的返回值...
  8. 一份不大的救命文档,一场时间与生死的接力
  9. 深度技术揭秘 | 大促狂欢背后,如何有效评估并规划数据库计算资源?
  10. 「技术人生」:什么是技术一号位?