罗会容,熊诗琪
(江汉大学 物理与信息工程学院,湖北 武汉 430056)
随着移动互联网的迅速发展以及智能手机的不断普及,人们获取信息的手段从电脑端迅速转移到手机端。在高校里,大学生的智能手机更为普及,并且各高校都在建设智慧校园,学生和老师都习惯用智能手机在WiFi、4G 网络等无线网络模式下浏览信息[1-3]。但是,高校的网络服务应用都是基于PC端开发的,常常会有打开网页慢、界面不友好等情况。因此,设计一个针对本校实际情况的校园APP很有必要。国内已有部分学校正在使用校园APP,如北京师范大学的“掌上师大”、南京理工大学的“南理工助手”、浙江工业大学的“工大生活”、电子科技大学的“移动校园客户端”等,这些校园APP 可以从各个方面满足学生和老师获取信息的需求。如今Android 系统凭借其开放性垄断了智能手机的一大部分,基于Android 平台的智能移动终端成为设计校园APP 的首选平台[4-7]。
本文设计了一个基于Android 的实验中心信息管理系统,服务于省示范实验中心,让学生能随时随地查看信息,打破了原来只能从电脑端获取信息的时间和空间局限。该应用的主要功能有实验室介绍、课表查询、设备与环境、师资队伍、课程设计、开放实验、实验教学大纲、竞赛与创新和信息交流等。
实验中心信息管理系统以江汉大学电工电子实验中心为背景,借鉴以往的开发经验以及学生对实验中心信息的需求进行设计。实验中心信息管理系统功能结构框图如图1 所示。
图1 实验中心信息管理系统功能结构图Fig.1 Structure of the experimental center information management system
(1)实验室介绍:介绍了省级示范中心电工电子实验中心的所有实验室的信息,包括实验室面积、设备、所承担的课程以及开设的主要实验项目。
(2)课表查询:该功能可以按照实验课程查询,也可以查询一学期的所有课表。
(3)设备与环境:通过此功能可以查看实验室的所有设备信息,以及在实验室的环境安全注意事项。
(4)师资队伍:此功能可以看到实验中心的成员信息、队伍结构以及成员的科学研究情况。
(5)课程设计:通过此功能可以查看某一学期的课程设计安排,包括时间、地点、指导老师以及课程设计内容。
(6)开放实验:电工电子实验中心设置了开放性实验,有兴趣的学生可以通过此功能查看开放性实验项目内容并可以在此报名。
(7)实验教学大纲:通过此功能可以查看所有实验教学大纲的内容。
(8)竞赛与创新:通过此功能可以查看竞赛资讯、学生往年获奖情况、作品展示和信息交流。学生可以通过竞赛资讯,提早参加竞赛培训,以提高竞赛获奖概率。
(9)信息交流:通过此功能学生有最新的信息以及在实验和竞赛中遇到的问题可以在这里交流讨论。
实验中心信息管理系统的开发总体采用MVC 框架[8],即模型Model、视图View、控制器Controller,MVC 是框架设计中比较常见的一种模式。其工作原理是控制器将用户的请求发送给模型,选择对应的模型;模型根据请求进行业务逻辑判断做出相应的处理,通知视图改变;更新的视图结果反馈给用户。MVC 的框架结构如图2 所示。
图2 MVC 的框架结构Fig.2 Framework structure of MVC
本系统采用智能手机终端、无线网络和校园服务器互联的物理架构,实现实验中心信息管理系统的功能应用。系统的物理架构如图3 所示,装有管理系统应用的Android 智能手机发送请求,通过无线网络访问校园内网,获取服务器里的数据。
图3 系统物理架构Fig.3 Physical architecture of system
设计采用Android Studio 3.0 环境,Android 系统是基于Linux 和JAVA 架构的,主要编程语言是JAVA,所以需要先安装JAVA 的编程工具JDK。在Oracle 官网选择Windows 平台下32 位的jdk-8u66-windows-i586 软件,下载安装并完成环境变量的配置,主要有JAVA_HOME、Path、CLASSPATH 三个部分的配置。接着安装开发工具Eclipse 和Android SDK 并进行相应配置,Android 开发环境搭建完毕[9]。
根据前面的需求分析,实验中心信息管理系统设计了9 个模块,分别是:实验室介绍、课表查询、设备与环境、师资队伍、课程设计、开放实验、实验教学大纲、竞赛与创新和信息交流。按照9 个功能对系统进行包规划,包规划的详细说明如表1。
表1 系统包规划Tab.1 System package planning
实验中心信息管理系统的界面UI 的设计采用常用的XML 文件实现,简单明了,可以将视图逻辑控制从JAVA 中分离出来,更好地体现MVC 结构。本开发总体采用APP 常用的三段式结构,顶部为标题,中间为内容,底部为选择按钮,在activity_main 里面实现[10]。
主界面第一部分是顶栏的江汉大学校徽和应用名称;第二部分是本应用程序的9 个功能模块,点击模块会进入相应的界面,该部分为九宫格布局,将布局定位3 行3 列,在mainactivity.xml 文件里实现;第三部分为底部切换导航栏,包含首页即当前显示的中间部分内容、登陆和设置。整个界面实现由View 实现,关键代码如下所示。最终的主界面和登录界面分别如图4(a)和图4(b)所示。
图4 (a)实验中心的用户主界面;(b)登录界面Fig.4 (a)Main interface of the experiment center;(b)Login interface
实验中心信息管理系统的实验室介绍、课表查询、设备与环境、师资队伍、课程设计、开放实验、实验教学大纲等信息都是来自于江汉大学电工电子实验中心网站。因此,实现各模块的功能就是将对应网页进行解析并Android 化,解析网页用到HTML 解析器。
HTML 解析器有JSON 技术和Jsoup 技术[11],一般安卓和服务端的数据通信采用JSON,需要有服务器的数据,但这里只需要解析HTML 网页的数据,所以本文采用Jsoup。Jsoup 的工作原理是通过某个URL 地址或本地文件来加载HTML 文件,加载完成后生成一个Document 对象实例,接着通过CSS 或者DOM 选择器对对象实例进行分析查找获得需要的数据,解析后得到的HTML 元素可以进行修改删除等自定义操作。可见Jsoup 具有强大的HTML 解析能力,可以将任意网页“Android 化”,实现网站的安卓客户端。网页解析的关键代码如下:
图5 和图6 分别是实验室介绍界面和竞赛与创新界面。图7(a)是开放性实验二级目录开放实验安排表解析的网页显示结果,采用表格的形式;图7(b)是竞赛与创新-竞赛资讯-电子技术基础与技能竞赛解析的网页显示的内容,包含文字和图片相结合的部分,可以看到本应用程序无论是文字、表格还是图片都能非常准确并以适应手机屏幕最佳的形式解析出来。
图5 实验室介绍界面Fig.5 Laboratory introduction interface
图6 竞赛与创新界面Fig.6 Competition and innovation interface
实验中心信息管理系统的测试是在荣耀9(EMUI 5.1)上进行的,EMUI 5.1 是在google 和Android7.0的基础上做了深度优化开发出来的系统。从安装到各个界面的跳转,各个功能的实现情况进行了反复测试,测试过程重点关注系统的流畅性和稳定性。经测试,应用满足之前的设计需求,并且系统稳定,界面跳转流畅。
图7 (a)开放实验安排表;(b)网站解析后的界面Fig.7 (a)Schedule of open experiment;(b)Interface after website parsing
基于Android 的实验中心信息管理系统满足了学生随时随地查看实验课表、实验设备、实验大纲、课程设计安排、开放实验和竞赛信息等要求,所有信息是以本校的电工电子实验中心网站为依据,将信息在手机端显示,实现Android 化。本系统是以某一实验中心设计的APP,具有良好的兼容性和动态扩展性,后续可以将其他专业实验室网站信息进行整合,以适合全校各专业学生。