基于Android平台智能手机实现实验室管理系统
来源:用户上传
作者: 刘海宁 施浩
摘要: 为提高高校试验室利用率,针对传统网上预约以及短信预约管理系统的弊端,提出Android平台智能手机实现实验室管理系统。重点介绍数据库配置、智能手机的端口以及数据在端口间传输等关键技术的设计及实现过程。
关键词: 实验室管理系统;智能手机;Android
中图分类号:G642文献标识码:A文章编号:1671-7597(2012)0320023-02
0 引言
高校实验室建设一直对培养学生动手能力、增强科研意识和提高独立分析能力起到至关重要的作用。特别是,根据教育部《普通高等学校教学水平评估指标体系》的要求,开设综合性、设计性的实验课程比例必须达到80%以上,这为实验室建设确立了明确的目标和方向。随着教师和学生对实验室的需求从满足实验室传统教学向着以个人能力和兴趣的自主式学习而转变,开放实验室的建设成为了高校实验室建设的重点。但也带来了实验室管理上的诸多问题:如试验室的时间上的安排、实验室管理人员配置等等。本文通过设计一个实验室管理系统,对实验室有效利用管理问题进行了探讨。
1 移动通讯技术的发展
高校开放实验室的管理经历了传统人工管理、网上管理和手机短信预约管理的过程。高校校园网、Internet技术以及基于B/S(浏览器、服务器)结构Web技术的应用将原本采用人工方式预约、登记、审核的流程搬至网上,师生可通过浏览器达到预约和查询的目的,极大地提高了实验室有效利用率。同时将用户需求和数据信息分开,很好的保护了数据的安全。但由于该系统的运行需依靠计算机和校园网,用户还需熟记Web服务器的浏览地址,使用起来很不方便也缺乏移动性。
1.1 手机技术的发展
随着移动通讯技术的飞速发展,手机以其优秀的移动性成为每个人必备的通讯工具。手机短消息服务SMS使实现实验室预约和管理的移动化成为可能。短消息控制器负责接入GSM网络,用户可按照固定的格式编写短消息并通过控制器生成回复短信回发到用户手机上。这样的平台实现了系统的移动性,但还受限于短消息格式以及手机短消息受限于运营商的无线网络信号等等问题,在实际应用中缺乏稳定性。
1.2 智能手机的发展
智能手机,具有独立的操作系统,用户无需依赖固定格式的短消息而通过直接下载安装应用软件对手机的功能进行扩充,通过3G或者Wifi等无线技术来实现通讯。智能手机兼具了传统手机的移动性并且更加稳定、使用方便。现流行的操作系统有:Android、ios、塞班等。
1.3 Android操作系统
Android是一种以Linux为基础的开放源代码的操作系统。开放的系统可以保证其拥有更多的开发者,保证其不断更新完善。同时它还有如下优点:
1)使用方便:Android应用程序与用户之间的交互界面简单、通俗。2)开发方便:开发者使用Java语言,Java语言调用各种已有库类,整个过程类似于搭积木,很方便开发。3)使用人数多:Android平台2012年在中国市场占有率68.4%,是第一大平台。
2 实验室管理系统的设计
基于以上移动通讯技术的发展,本系统选择采用Android开发,系统的主要功能模块主要有:用户注册/登录模块、用户模块和后台管理模块。
用户注册/登录模块实现用户的注册、用户模块的登录功能以及管理员的后台管理模块登录功能。
用户模块:1)实验室查询:实验室查询以文字展示。2)实验室预约:用户对试验室进行预约,预约开始时间和结束时间,实验名称,实验人数和对预约实验室状态的查询等等。3)个人信息管理:对注册信息进行管理,主要包含:学院、学号等等。
后台管理模块实现:1)用户管理:审查待注册的教师和学生的基本院系情况。2)实验室预约:查看用户预约实验室的开始时间和结束时间、实验名称、实验人数、确认预约状态同时向用户发送确认。3)实验室管理:添加、删除实验室等。
3 实验室管理系统的实现
本文采用Android虚拟机以及Sql Server数据库模拟实验室管理平台。整个系统开发工具包括:Eclipse(内嵌ADT和AndroidSDK)、JDK、Tomcat和SqlServer。
用户界面用Android Activity以及Intent方法设计。这里就不在赘述了。
3.1 数据库配置
数据库根据系统要求,需设计如下表格:
1)customer存储用户个人信息表。存放用户名(UserId)、用户姓名、密码、联系方式、注册时间以及是否通过注册信息等字段。
2)lab存储实验室信息表。存放实验室id(LabId)、实验室名称、实验室地址等。
3)booking预约信息表。存放用户名(UserId)、用户姓名、室验名、联系方式、试验人数、实验室名称、实验日期、实验时段等。
4)confirm预约确认表。存放用户名(UserId)、用户姓名、实验名、联系方式、试验人数、实验室名称、实验日期、实验时段、预约状态、确认内容等。
3.2 服务端接口的实现
服务端接口由数据访问类domySQL和请求处理类doServlet。
数据访问类domySQL使用JDBC实现数据库的添加、删除、修改和查询并将结果返回给请求处理类doServlet。服务器端请求处理类doServlet扩展自HttpServlet类,从客户端请求信息中获得服务识别代码和服务操作相关参数,然后生成相应的数据库操作SQL命令。服务识别代码如表1所示。
表1服务识别码和对应参数
3.2.1 数据访问类domySQL代码
数据访问类核心doUpdate方法和doQuery方法代码如下:
statement stmt=conn.createStatement();
public String doUpdata(String sql){ //执行更新操作
string qr=toXml(stmt.executeUpdata(sql)); //将结果转换成xml文档
return qr;
}
public String doQuery(String sql){
ResultSet rs=this.st. executeUpdate(sql); //执行查询操作
String qr=toXml(rs);
//将结果转换成xml文档
return qr;
}
3.2.2 请求处理类 doServlet代码
public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException { 、response.setContentType("text/html; charset=GBK");
String sysid=request.getParameter(“SysId”); //getParameter取得html文档//中的服务识别码
String userid=request.getParameter(“UserId”);
String labid=request.getParameter(“LabId”);
String sql=getSQL(sysid,userid,labid); //再调用doSqlDb 执行 SQL 命令完成数据//库操作,最后将处理结果返回客户端。
客户端接口,请求处理类调用HttpURLConnection类,访问服务器接口处理类的URL。URL参数中存放用户请求的一些服务识别码和对应参数,通过把需要传递的参数放在URL字串后面getInputStream()这个函数中发送出去。
转载注明来源:https://www.xzbu.com/8/view-1630031.htm