王千千
摘 要: 针对当代大学生经常面临的选课问题,设计和实现了基于Android平台和MySQL数据库的课程评价App。对课程信息和教师信息进行了获取、处理和共享,将这些信息提供给有需要的学生,同时也提供给学生一个发表言论的平台,表达对课程的一些观点。
关键词: Android; MySQL; 课程评价; 选课信息
中图分类号:TP311.1 文献标志码:A 文章编号:1006-8228(2019)02-84-04
Design and implementation of an Android App for course evaluation
Wang Qianqian
(China JiLiang University, Hangzhou, Zhejiang 310000, China)
Abstract: Aiming at the problem of course selection that contemporary college students often face, a course evaluation App based on Android platform and MySQL database is designed and implemented. The course information and teacher information are acquired, processed and shared, and provided them to students in need. It also provides a platform for students to express their views on the course.
Key words: Android; MySQL; course evaluation; course selection information
0 引言
当今社会生活节奏越来越快,对手机配置的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同的种类。智能手机软件平台有Symbian、Windows Mobile、RIM BlackBerry、Android、iPhone、Palm、Brew、Java/J2ME,Android一词本义是指“机器人”,最初是由General Magic公司软件工程师Andy Rubin开发的一款专用于移动终端设备的OS(操作系统)[1]。在2012年11月的数据显示,Android占据全球智能手机操作系统市场76%的份额,在中国市场的占有率为90%[2]。
智能手机,大学生绝对是这一市场的主流用户,对智能手机的应用已经渗透到了大学生生活的几乎各个方面。大学生最经常面对的问题就是选课,为了丰富大学生的校园生活,学校提供的可选课程越来越多,而学生往往除了课程名称,对课程相关知识一无所知,信息的缺乏与不集中,导致学生选课需要花费很多的时间来收集信息,但往往最后也没能选到满意的课程,如何快速地了解课程的相关信息,成为我们需要关注的一个问题。
本课题就是针对这一问题,开发一款软件,借助于Android这一平台,实现课程信息共享,将课程信息传递给需要的学生。
1 系统需求分析
基于Android的课程评价系统App是为大学生用户而设计的,手机上安装App,登录系统后可以选择以下操作:启动软件,登录软件,注册软件,查询课程,查询老师,增加课程,评论课程,发表评论,更改个人信息。其用例图如图1所示。
2 概要设计
2.1 课程评价系统流程图
根据对实际操作的模拟,软件的主要的操作流程如下。
Step1:点击课程评价系统“iCourse”,加载登录界面。
Step2:点击登录,加载主界面和课程信息,跳转Step4。
Step3:点击注册,加载注册界面,进行注册,注册成功。
Step4:查询课程信息,按课程分类查询。
Step5:添加课程,填写课程信息。
Step6:评价课程。
Step7:查询教师信息,按学院分类查询。
Step8:查询个人信息,更改个人信息,查询评价记录。
2.2 E-R图
根据对数据流图的分析,可以得到四个实体,分别是账户、学生、课程、教师,它们之间的关系以及各自的属性,通过图2的E-R图表示得出。
3 详细设计
3.1 Android底部导航栏
为了维护UI系统的良好运行,在应用层里,Android还设计了许多框架,当开始一个项目,我们就要确认App的框架,也就是当用户进入App后,App首页所展示给用户的界面布局,就比如说,淘宝的界面展示了五个Tab,分别对应:主界面、微淘、信息、购物车和我,这样的一个框架我们称之为底部导航栏,一般分为3-5个Tab。底部导航栏可以利用button监听来实现,也可以利用Fragment实现,在本項目中,是利用Fragment来实现底部导航栏。
Fragment不能独立的存在,必须嵌入到Activity中使用,因此,Fragment的生命周期直接受所在的Activity影响,当Activity销毁时,它拥有的所有Fragment都被销毁[3]。Fragment的布局分三个部分,利用Framelayout作为Fragment的容器,中间需要一根分割线,下面的TabLayout用来放置各个button按钮。
Activity中的代码就是一个TabLayout,在其中添加监听器,然后向TabLayout中添加所需要数目的Tab,在addOnTabSelectedListener 中切换到各个Tab对应的Fragment。
3.2 搜索栏SearchView
SearchView是Android自帶的搜索框控件,可以直接添加到用户界面中,用于实现搜索查询功能。SearchView自带onQueryTextSubmit和onQueryTextChange方法,监听SearchView需要对这两个方法加以实现,其中onQueryTextSubmit是当SearchView中输入完成提交之后所触发的方法。
3.3 服务器设计
MySQL是一个真正多用户、多线程的SQL数据库服务器,SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言[4]。因此本次项目使用了JavaWeb+Tomcat+MySQL,客户端用了标准的Java接口——URL和URLConnection,可以实现基于URL的请求、相应功能。自定义异步任务类MyTask,LoginTask,继承自AsyncTask,通过out对象携带请求参数username和password,在in对象中获取服务器返回结果,成功返回success,失败返回fail,在客户端用Toast进行输出。在eclipse中用tomcat服务器本地调试,google模拟器中的ip地址是10.0.2.2,在Genymotion中的ip地址是10.0.3.2。
3.4 数据存储和显示
本次项目采用了android提供的SQLiteDatabase类,实现了数据库的创建,查找和增添功能。SQLite是一个轻量级数据库,它是D.Richard Hipp建立的公共领域项目,它的设计目标是嵌入式,而且占用资源非常低,在内存中只需要几百KB存储空间[3]。用继承于SQLiteOpenHelper的MyOenHelper和TeOpenHelper,进行数据库的内容准备和数据库表的创建操作。用继承自BaseAdapter的MyAdapter和TeAdapter,帮助数据从数据库显示到界面上,并用converView进行了性能的优化。
3.5 listView的应用
ListView是Android中最常用的复杂容器控件之一,支持单行、多行、自定义布局等多种子视图布局,同时还支持普通显示、单选和多选等风格[5]。ListView需要引入适配器模式,开发列表时,主要有单击事件处理,适配器等方面,在项目中课程的显示、教师的显示和评价的显示都使用了ListView,其共用同一个适配器。
4 界面设计
软件的主要界面有登录界面,注册界面,课程界面,教师界面,评价界面,我的界面,课程信息界面,教师信息界面,我的资料界面。主要界面设计如图3-图6所示。
5 结束语
社会正朝着信息化、网络化的方向发展,信息的共享变得越来越便利,本文就是通过对Android、JavaWeb、TomCat和MySQL等技术的应用,实现对课程相关信息的获取、处理和共享,将这些信息提供给有需要的用户,同时也提供给学生一个言论的平台,表达对课程的一些看法。该软件是对在校学生实际需求的一个设计,解决了选课信息难以获取的问题,系统具有实用性和创新性,有一定的推广价值,能给学生选课提供更好的体验。
参考文献(References):
[1] 郑耿忠,庄桂东.Android应用开发从入门到精通[M].清华大学出版社,2018.
[2] 郑阿奇.Android实用教程[M].电子工业出版社,2017.
[3] 任林军,林海霞.MySQL数据库管理与开发[M].人民邮电出版社,2017.
[4] 黑马程序员.Android移动开发基础案例教程[M].人民邮电出版社,2017.
[5] 苗中良,曾旭,宛斌.深入Android应用开发[M].机械工业出版社,2012.