本次设计选用了时下比较热门的Android平台来作为开发技术,实现了一套较为实用的学习管理系统。在校学生可以通过本软件来记录每一天的上课课程信息,记录学习信息等等。

1.开发工具及环境简介

  1. Eclipse Classic 3.7.2
  2. SQLite3
  3. ADT
  4. Android SDK

2.系统功能需求

  1. 课程表的创建与查询
  2. 课程信息的创建与查询
  3. 课程学习时间的设定与管理(相当于学习计划)
  4. 学习效果的反馈与总结

3.系统功能模块设计

本系统采用SQLite数据库来实现数据的持久性管理,本系统采用数据库来存放每一周要上的课程信息和上课地点信息,系统的模块架构设计

4.数据库设计

本系统用到的数据库为Android自带的SQLite数据库,系统采用一个数据库表来记录每一周的课程信息和上课地点信息。

表1: tb_weeks 课程信息表

各个表的详细设计:

序号

列名

数据类型

主键

说明

1

id

int

主键

2

Week

int

第几周

3

Weekindex

int

周几

4

Node12

Varchar

1、2节课程

5

Node34

Varchar

3、4节课程

6

Node56

Varchar

5、6节课程

7

Node78

Varchar

7、8节课程

8

Node90

Varchar

9、10节课程

9

Address12

Varchar

1、2节地点

10

Address 34

Varchar

3、4节地点

11

Address 56

Varchar

5、6节地点

12

Address 78

Varchar

7、8节地点

13

Address 90

Varchar

9、10节地点表

工程文件结构设计

在程序开发阶段,首先确定“即基于Android的学习管理系统”的工程名称为StudyManagement,根据程序模块设计的内容,建立StudyManagement项目, StudyManagement项目的文件结构如图

为了使代码文件结构更加清晰, StudyManagement工程设置了多个命名空间,分别保存了用户界面、数据适配器、常用类库和实体多个包,源代码的名称以及说明如表4.3所示:

包名称

文件名

说明

com.cm.activity

LoginActivity.java

登录界面视图

com.cm.activity

RegisterActivity.java

注册界面视图

com.cm.activity

StudyPlanActivity.java

计划界面视图

com.cm.activity

DialogEditActivity.java

课程设置界面视图

com.cm.activity

CourseListActivity.java

课程列表视图

课表查询界面

用户打开软件进入系统后,可以看到每一周的课程安排信息,可以通过手指滑动来切换不同周次的课程信息。

在课程信息表里,第一行显示了周一到周日标题,第一列显示了一天五个课节信息,而表格主体部分则显示了每一天每个节次所上的课程信息。

具体的实现效果如图

核心代码:

@Overrideprivate LinearLayout createView(int cur_week) {LinearLayout llRoot = new LinearLayout(this);llRoot.setOrientation(LinearLayout.VERTICAL);lParams = new LinearLayout.LayoutParams(width, width);lParams.leftMargin = 2;lParams.topMargin = 2;llLayout = new LinearLayout(this);llLayout.setOrientation(LinearLayout.HORIZONTAL);for (int i = 0; i < AppConstant.Weeks.length + 1; i++) {textView = new TextView(this);textView.setText(i == 0 ? "" : AppConstant.Weeks[i - 1]);textView.setGravity(Gravity.CENTER);textView.setTextColor(getResources().getColor(R.color.gray12));textView.setBackgroundColor(getResources().getColor(R.color.gray2));textView.setLayoutParams(lParams);llLayout.addView(textView);}llRoot.addView(llLayout);for (int i = 0; i < AppConstant.Sessions.length; i++) {llLayout = new LinearLayout(this);llLayout.setOrientation(LinearLayout.HORIZONTAL);textView = new TextView(this);textView.setText(AppConstant.Sessions[i]);textView.setGravity(Gravity.CENTER);textView.setTextColor(getResources().getColor(R.color.gray12)); textView.setBackgroundColor(getResources().getColor(R.color.gray2));textView.setLayoutParams(lParams);llLayout.addView(textView);for (int j = 0; j < AppConstant.Weeks.length; j++) {textView = new TextView(this);llLayout.setGravity(Gravity.CENTER);textView.setTextColor(getResources().getColor(R.color.gray8));textView.setTextSize(10);textView.setBackgroundColor(getResources().getColor(R.color.gray1));textView.setLayoutParams(lParams);textView.setOnClickListener(onClickListener);for (int j2 = 0; j2 < list.size(); j2++) {if (list.get(j2).getWeeks() == cur_week && list.get(j2).getWeekindex() == (j + 1)) {textView.setTag(list.get(j2).get_id() + "," + i);switch (i) {case 0:textView.setText(list.get(j2).getNode12());break;case 1:textView.setText(list.get(j2).getNode34());break;case 2:textView.setText(list.get(j2).getNode56());break;case 3:textView.setText(list.get(j2).getNode78());break;case 4:textView.setText(list.get(j2).getNode90());break;}break;}}llLayout.addView(textView);}llRoot.addView(llLayout);}return llRoot;}

课表设置界面

用户在课表查询界面里点击一个单元格可以修改课程信息,包括课程名称和上课地点信息,修改之后可以通过电脑机保存按钮来把修改结果提交到数据库。

如果修改成功,则在课程查询模块里可以查询到刚刚修改的信息;

具体的实现效果如图

学习规划界面

用户可以在系统上记录自己的学习计划,例如用户即可计划某一段时间的学习内容。

具体的实现效果如图

总结界面

用户可以对过去的学习效果进行总结,并可以通过软件记录到手机里。

具体的实现效果如图

需要请联系微信zlee_com_cn

感谢打赏,手动狗头;)

        

基于Android的学习管理系统设计与开发相关推荐

  1. 基于JAVA的教师管理系统设计与开发

    开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 基于Java的教室管理系统设计与开发 模块 ...

  2. 基于Android的停车管理系统设计与实现

    目录 摘要 5 Abstract: 6 引言 7 第一章 绪论 8 基于Android的停车管理系统 5 A Parking Management System Based on Android Op ...

  3. 基于android图书交易系统研究情况,基于Android的证券交易管理系统设计与实现

    摘要: 随着移动智能终端和TD-LTE通信技术的快速发展,基于Android的移动终端软件可以得到了广泛的普及和应用,尤其是金融证券管理领域,开发了许多的手机银行和手机证券系统.基于Android的移 ...

  4. java语言编写防沉迷系统_-基于android的网购防沉迷系统设计的开发与实现.doc

    本科毕业论文 题目:基于android的网购防沉迷系统 学 院:计算机科学与技术学院 摘 要 随着电子商务的发展,人们越来越喜欢在网上购物,越来越喜欢享受这一简单便利的购物方式.而且跟随着电商产业的不 ...

  5. 基于Android学生考勤管理系统设计与实现

    高校中由于教学模式的原因,师生之间交流的时间极为短暂,而考勤占用了很多宝贵的教学时间,往往会影响正常的教学计划和教学质量,同样也会给学生的学习生活带来不必要的麻烦.简化教学工作,提高学生学习效率已经成 ...

  6. 移动金融管理系统设计与开发实训(课程设计报告)——基于Android+Django的银行系统部分功能设计与实现

    阅读过程中若有不解和需要可私信,乐于解答  项目代码文档都保存着 基于Android+Django的银行系统部分功能开发与设计 摘要: 随着信息技术的快速发展以及经济的快速发展,金融界的信息化的进程也 ...

  7. 毕业季基于spring的基于安卓APP的基于ssm框架的基于微信小程序的管理系统设计与开发(开题+源码+讲解+论文)

    毕业设计考察的是同学的专业知识的运用能力,除了对技能的考核,还看重你的创新思维,这里面设计到内容繁琐复杂. 对于还未毕业没有过项目开发经验的同学是有些难度的,一个程序的开发小到1两个月,大至几个月甚至 ...

  8. 基于Android的外卖App系统设计

    基于Android的外卖App系统设计 摘要 随着智能手机的快速普及,智能手机操作系统市场风生水起.为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终 ...

  9. 基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA干洗店订单管理系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

最新文章

  1. 算法----两数之和
  2. unet脑肿瘤分割_2D UNet3+ Pytorch实现 脑肿瘤分割
  3. IDEA换行CRLF, LF, CR的解释和默认设置
  4. linux crypto cbc 接口,Linux 2.6.38.4: User-space interface for Crypto API
  5. 笔试题:在整数数组中找到重复的数字
  6. 工作中常用的linux命令,Linux工作中常用到的一些命令(持续更新)常用的
  7. 读《学习JavaScript数据结构与算法》 第二章
  8. 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现
  9. 颜色空间的几种表示方法
  10. 网卡参数设置建议与各个网卡参数含义详解
  11. 跑握手包需要什么显卡?|跑包显卡配置
  12. 台达PLC伺服追剪程序,电子凸轮,全部源代码,PLC程序和触摸屏程序,DVP15MC
  13. unity 3d开发的大型网络游戏
  14. Robcup2D足球学习记录【2020.01.10】
  15. 浮云API 随机二次元图片接口开放文档 1w+数据
  16. win10无法自动修复此计算机,Win10 无法启动 自动修复无限循环
  17. 如何装配一台计算机和安装操作系统,组装机怎么安装系统?手把手教你组装机安装系统教程...
  18. 第十一天-购物车订单系统的实现
  19. 《“网上邻居”无法互访问题解决方法大全 》
  20. SQL WHERE AND OR

热门文章

  1. AEROFILTR液体用差压变送器DPTL
  2. 出差攻略干货,要出差的小伙伴们点进来吧~~
  3. 《上古天真论》第一讲文字版
  4. 常用Java开发工具
  5. 武器系统中的自主性(国防部指令3000.09)
  6. Unity3D 游戏贴图 法线贴图 漫反射贴图 高光贴图
  7. python表白神器_Python编写表白神器!向你的女神告白吧!!
  8. 互联网热门词汇:O2O、C2C、B2B、B2C 的区别在哪里?
  9. 您已经试用过金山毒霸,无法升级解决方案
  10. 第七章 frr sysrepo纳管初始化流程分析