基于Android的学习管理系统设计与开发

本次设计选用了时下比较热门的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

课程列表视图

课表查询界面

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

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

具体的实现效果如图

核心代码:

@Override
		private 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

 

感谢打赏,手动狗头;)

        

播放控制是本系统最主要的部分,播放控制分为播放和动态控制,动态控制包括开始播放,暂停播放,上一首,下一首,重新播放。 1、播放音乐 播放器的播放界面上,最上面的是播放/暂停按钮,左边的是上一首按钮,右边的是下一首按钮,下面的是重新播放按钮。几个按钮分布在专辑图片的四周。图片上面是显示的播放的进度条。进度条上面显示的有当前播放的歌的名称和歌手信息。 执行之前: 1)用户处于播放界面; 2)用户可以看到播放按钮处于暂停状态; 3)用户点击暂停按钮; 执行之后:开始播放歌曲。 2、暂停播放 用例描述:在播放音乐时,比如用户需要和别人讲话这时需要将音乐暂停。用户只需要轻点音乐播放器的主界面上的播放/暂停按钮,系统将停止当前歌曲的播放。 参与者:用户。 执行之前:音乐播放器的主界面正在播放歌曲。 执行之后:停止播放歌曲。 3、切换上一首 在播放界面,当用户想要切换到上一首歌曲的时候 执行之前: 1)当前正在播放歌曲; 2)点击界面上的上一首歌的切换按钮; 3)系统成功加载到前一首歌。 执行之后:切换到列表里面这首歌前面的一首。 4、切换下一首 用例描述:点击切换歌曲的按钮,会立刻停止播放当前的歌曲,切换到列表中的当前这个歌曲的下一首歌曲。同时下一首歌曲的相关信息也会显示在同一位置。 1)当前正在播放歌曲; 2) 点击界面上的下一首歌的切换按钮; 3) 系统成功加载到下一首歌。 执行之后:开始播放下一首。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JensLee

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

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

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

打赏作者

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

抵扣说明:

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

余额充值