APP下载

利用Eclipse 插件实现安卓在线实验室

2014-11-26李宏升LIHongsheng宋三华SONGSanhua陈中良CHENZhongliang

价值工程 2014年4期
关键词:实验报告安卓插件

李宏升LI Hong-sheng;宋三华SONG San-hua;陈中良CHEN Zhong-liang

(黄淮学院信息工程学院,驻马店 463000)

(College of Information Engineering,Huanghuai University,Zhumadian 463000,China)

1 安卓系统开发与Ecilpse 插件的强大功能

近年来,由于无线互联网及嵌入式移动平台的飞速发展,国内各高校纷纷开设嵌入式系统开发课程,特别是学习门槛较低的安卓系统应用开发。由于安卓系统开发的SDK 涉及到JAVA、Ecilpse、ADT、Linux 等多种开发环境,如何构建一套全功能、高效率、易操作的实验模拟环境,成为目前安卓教学培训及实验实践过程中所急需的平台。本文所述的在线实验平台就是利用Eclipse 开发环境中功能强大的插件功能实现从教师和学生管理、实验内容库管理、作业上传及成绩批改、登录认证等多种功能于一体的安卓在线实验平台。[1]

2 系统分析及业务流程设计

根据笔者所在高校安卓课程培养方案的要求,对本教学平台进行了详细的需求分析。主要需解决如下几方面的问题:

①系统交互性设计:在实验活动中,要有实验任务发布、实验内容查看、用户注册登录等交互性环节。

②实验课程管理:在课程组织与管理方面,要有设计、安排及维护实验项目的功能。

③实验案例难度划分:针对于本专科学生、成教及短期培训学生的教学要求,将实验项目按难度、应用方向、硬件来分类,以便于针对不同的学生群体安排相应的实验计划。

④文件上传及管理:利用登录认证过程来规范用户上传和更新相应的作业及文件,以用户ID、实验项目编号、上传时间来标示附件的内容、时间、来源,较好的解决了上传文件的查阅和管理。[2]

根据上述分析,本系统应包含以下几个模块,其业务流程如图1 所示。

其系统用例流程图如图1 所示。

图1 在线实验室的业务流程图

教师操作功能:启动窗户端后,通过用户名和密码启动、登录到客户端,没有账号注册账号。注册过程中可输入用户名、密码,可选择老师的分组及其他信息,注册后即可用账号和密码登录。

编辑实验项目内容:新增或编辑各实验项目的名称及具体内容、选择实验类别、上传实验案例代码。

安排实验计划:进入实验计划菜单,新增实验计划,制定实验项目时间表、实验班级、周次、考核方式等具体内容。在客户端运行学生上传作业代码:可以把学生上传的实验代码包导入客户端模拟运行,对学生的实验效果进行评价。

批改学生实验作业:根据学生上交的实验报告及上传的代码包,根据培养方案对学生进行评价打分。

学生操作功能:从客户端登录后,可以以B/S 的方式访问实验计划,查看实验内容、下载实验代码,在客户端上进行实验,提交实验报告,上传作业代码包,查看实验成绩等。浏览课程实验信息:进入浏览器登录后,可以查看本专业相应的实验开课计划,进入具体的实验项目,可以浏览实验内容和相关知识。

根据实验计划完成实验:学生可通过B/S 模式查看、下载实验项目内容,根据实验内容要求,按照步骤和实验代码包完成实验项目,并撰写实验报告提交。

上传实验代码包:学生可根据实验要求调试好的实验代码包上传至自己在服务器上的存储空间,并以特定的名称命名(格式为:用户ID、实验项目编号、上传时间)。

提交实验报告:学生完成实验后,可将按照模板撰写的实验报告文档提交到系统,并以特定的名称命名(与代码包规则相同)。

查看成绩:教师可在实验完成后,对学生的实验代码和实验报告批改评价后,对学生的实验项目进行打分,学生可登录系统后,查询各实验项目的成绩。[3][4]

3 系统设计及实现

3.1 系统总体架构设计

图2 系统总体架构示意图

系统各功能模块的设计:本实验教学平台分为实验代码运行模块,实验作业提交管理模块。在实验代码运行模块中主要采用Eclipse 插件开发的机制实现文件的更新上传下载,在实验作业管理模块,实现实验计划的编排,发布,实验报告模板的编辑实验作业的批改等功能。

实验项目管理:通过本模块对各实验项目进行增删查改,可对实验项目的名称、类别、是否必做、负责教师、实验要求、报告模板、上传代码包名称格式进行设定。

实验计划管理:在实验计划模块中,教师把设置好的实验项目添加到实验列表中,并设定开课名称、实验名称、实验时间及结束时间,形成一个完整的实验计划。

文件交互管理:学生可以在登录后的个人实验项目列表中,查看下载相关的实验预习报告和代码包,并导入客户端进行调试实验;在完成实验后,将实验代码和实验报告以约定的名称上传至服务器指定的位置,教师可在课后统一批改,并在客户端加载实验代码进行评价。

实验报告编辑:学生在实验过程中通过实验报告编辑模块可以在线撰写实验报告,通过功能强大的图文编辑器形成内容丰富的实验报告上交。[5]

用户和文件交互设计:利用Eclipse 插件开发一个基于XML 文件的透视图,在此基础上实现用户交互界面和文件上传下载界面。

用户登录模块:利用SWT 和JFace 组件开发插件的应用,设置透视图的扩展点org.eclipse.login.perspectives,在此类上实现Iperspective Factory 接口。

实验项目的上传浏览:在验证用户的登录状态后,就可实现实验项目的更新发布了。将提取的用户ID 及其他状态信息以XML 文件的形式上传至服务器,通过对XML文件的解析,获取当前用户当前操作的实验的KEY,判断取得的实验项目版本号是否大于与服务器上的值,来决定是否更新该项实验信息。更新实验信息后,服务端会为每个实验项目创建一个配置文件,记录实验项目的数据并用于用户在客户端浏览该实验内容。[6]

3.2 系统关键模块的实现

3.2.1 认证模块

运用Eclipse 的startup 扩展点实现登录认证在客户端启动时就随之加载运行,认证窗口界面采用Java Swing 设计,添加Jframe、Jlogin、Jbutton 等组件。为Button 按钮添加监听事件:Jloginbutton.add ActionListener(new ActionListener()),为按钮添加login Authentiaction()的认证方法获取用户名和密码送给服务器进行认证。[7]

3.2.2 服务器端接口

接收客户端登录信息,运用HashMap 类接收用户名和密码进行服务端认证,成功后返回相应的信息。

提交新的实验项目内容,运用param Files.put(“expProject”,new File []{file})的方法上传包含文件名和路径字串的HashMap 对象,通过Http URL Connection 连接上传文件的StringStream。

实验项目的下载过程,设定srcPath 和destPath 对象作为下载对象的源路径和目的路径,用connection.getHeaderField (“connection-Disposition”) 方 法 和URL Decoder.decoder 的方法对文件进行URL 编码,实现浏览器对中文名称的兼容。最后通过getInputStream ()和FileOutstream()方法进行文件的读取写入,完成文件下载过程。[8]

3.3 实验项目信息的上传下载及与客户端关联

实验项目信息的上传过程是客户端功能的重要组成部分,实验项目相关信息封装在Experiments 类中,与用户类UserClient、实验项目类ExpProject 类利用experiments属性相关联。

表1 Experiments、ExpProject 类的属性

图3 客户端插件的菜单

图4 Web 服务端登录界面

当用户提交实验信息及报告时,触发Experiments 类的updateExperimentsAction 方法,根据用户ID、类型去更新相应的实验信息数据和相应的URL 地址,学生在代码包的上传中会发生多次上传的情况,为了简化系统复杂度和减少无用文件残留,系统采用固定代码包的文件名,最后一次上传的数据对上一次进行覆盖的方法处理。

4 应用效果及展望

本实验平台在实际教学应用过程中,基本能完成安卓课程教学计划的整个流程,满足从实验项目的编辑管理、实验计划的编排发布、实验代码包的上传下载、实验报告的编辑提交、实验成绩的批改评分等所有功能。

本平台采用了Eclipse 插件的开发方式,使所有功能均集成在同一个客户端系统中实现,为教学系统的安装和移植提供了方便,有利于在基于Eclipse 环境的开发环境,如Java,J2EE 中推广应用。

随着Eclipse 的Web 化进程的不断推进,基于Eclipse的项目开发将脱离插件技术的束缚,开发方式将逐渐被采用浏览器的B/S 架构所取代。围绕Eclipse 平台的强大功能,结合安卓、Java、J2EE 课程,基于Eclipser 的在线虚拟实验室的应用范围会更广泛、实现的功能会更强大、在移动互联网应用及智能手持设备的应用开发方面会产生更加深远的意义。

[1]张跃玲.网络教学交互模式研究[D].西北大学,2011.

[2]余永佳.高职Android 操作系统课程教学与研究[J].徐州建筑职业技术学院学报,2011(04):52-54.

[3]于杭路佳.数据挖掘在网络教学评价中的应用[D].北京邮电大学,2010.

[4]成炳花,刘金广.在B/S 网络系统中应用XML 技术的研究[J].武汉理工大学学报,2010(22):119-212.

[5]赵林虎.基于Eclipse 富客户端软件测试管理平台的设计与实现[D].北京邮电大学,2010.

[6]米天胜.基于开放式插件体系结构的Eclipse 平台及其应用[J].中国管理信息化(综合版),2007(12):29-33.

[7]陈延.基于Eclipse 插件的集成开发环境扩展与改进[D].华中科技大学,2012.

[8]栾咏红.基于Android 的XML 解析器的分析与比较[J].南京晓庄学院学报,2011(06):98-100.

猜你喜欢

实验报告安卓插件
自编插件完善App Inventor与乐高机器人通信
文物表情包
实验报告
数据挖掘算法对于提高实验报告质量的作用探讨
一种基于安卓系统的手机侧抓包分析方法
MapWindowGIS插件机制及应用
基于Revit MEP的插件制作探讨
实验报告无纸化管理平台研究初探*
安卓L未至安卓M来了!安卓首泄漏M系统