基于Android的测绘教学仪器管理系统设计
2016-01-31于海潮杨金玲魏园程谭仁亮魏宇强孙昌文
于海潮,杨金玲,魏园程,谭仁亮,魏宇强,孙昌文
(黑龙江工程学院 测绘工程学院,黑龙江 哈尔滨 150050)
基于Android的测绘教学仪器管理系统设计
于海潮,杨金玲,魏园程,谭仁亮,魏宇强,孙昌文
(黑龙江工程学院 测绘工程学院,黑龙江 哈尔滨 150050)
摘要:通过对目前测绘类高校实验室测绘教学仪器管理与维护中存在问题进行分析,基于Android系统设计一套智能化、信息化、严密的测绘仪器管理解决方案,本管理系统能够进一步提高测绘实验室仪器设备的使用效率,简化实验人员对测绘仪器设备的管理与维护,从而提高测绘实习实践的教学质量。
关键词:Android;SQLite3;二维码;条形码;智能终端
在国家大力发展教育的方针政策支持下,各大测绘类高校实验室的仪器设备在数量、种类等方面都有所增加。而传统的测绘仪器设备的管理存在很多问题,如仪器进出实验室的记录方式采用原始的纸质形式,容易损坏、遗失,很难进行科学的管理和查询。同时,新时期的应用技术型大学更加注重培养学生的实践动手能力,但目前普遍存在的问题是:测绘类的实践课多,管理测绘仪器的实验室教师数量少,采用手工记录的方式发放测绘仪器费时费力,若几个实践课同时进行,会造成实验室门口的拥堵,影响实践课的正常进行。而且测绘类实践课几乎都是在室外进行,经常会发生测绘仪器的损坏,因此,实验教师收仪器时需要逐一认真仔细地查验,耗时耗力。另外,采用原始的手工记录仪器的使用和维护情况,很难掌握各仪器的使用频率,对于个别有问题的仪器部件的维护更是无从下手。总之,目前高校测绘实验室都存在对仪器的收发效率低、管理与维护难的问题[1],因此,急需建立一套智能化、信息化、严密的测绘仪器管理解决方案,以解决对测绘仪器的科学管理与维护,进一步提高设备的使用效率,提高测绘实习实践的教学质量[2]。
随着测绘科学的发展,新仪器新技术的不断出现,测绘仪器的管理也在不断改革,与传统的PC机管理终端相比,基于智能终端的测绘仪器的管理设备既可以是普通智能手机又可以是高级平板电脑,只需带有Android系统,就可以满足学生、仪器管理员等随时随地借还仪器的需求,因而显示出极大的优势[3]。该管理设备具有轻便、随机、灵活等优点。
1Android智能平台简介
Android(安卓)是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的开放手持设备联盟(Open Handset Alliance,OHA)持续领导与开发[4-5]。主要具有以下3个特点[6-7]:
1)Android采用开源操作系统,源代码向世界公开,Android平台的应用程序开发不受开发商和运营商的限制。
2)Android平台是基于Linux内核开发的操作平台,通过调用硬件的接口,可轻松实现硬件的功能。
3)谷歌地图、谷歌翻译、谷歌搜索、谷歌邮件等Google服务产业都可与Android开发无缝结合。
2系统总体设计
根据目前高校实验室测绘仪器的管理与维护需求,以Andriod为技术支撑,结合实验室管理的实际情况,设计的系统具有如图1所示的功能。
图1 系统功能结构
1)学生信息管理。将每个学生的学号转为二维码,为学生提供唯一的标识符;条形码同样为学生提供独一无二的身份,只是图形不同,识别的效率上也会有区别。另外,系统能够添加、删除、更新学生信息,方便对学生的管理。
2)仪器借还管理。此部分是管理的核心,可以通过对学生、测绘仪器二维码的扫描实现仪器的借还。也可以对仪器的状态进行查询与管理,如果有需要还可以将仪器的状态信息导出等。
3)仪器信息维护。将原有的仪器条码转换成二维码,采用条码或二维码的扫描识别方式,能够掌握该仪器设备最详细信息。同时,历史记录能关联到所有借过这个仪器或者设备的学生,包括归还和未归还;高级查找只需输入一个数字便会提示全部相关的仪器编号。
3系统设计
3.1 系统功能模块设计
整个系统主要实现4个功能模块,大体分为UI用户界面的设计、二维码和条形码的生成与识别、数据库的建立操作和文件的I/O流操作,如图2所示。
图2 功能模块设计
1)UI用户界面设计。遵循简洁、大方的原则,主要分为学生信息管理模块、仪器设备借还管理模块和仪器设备信息管理模块三个部分。
2)二维码和条形码的生成与识别。技术上主要通过Google提供的官方jar包内封装的方法来实现二维码和条形码的生成和扫描识别。
3)数据库的建立与操作。主要负责数据的管理,可以封装一个类使对数据库的操作更加方便,降低程序代码的耦合。针对数据的增、查、改操作定义接口,将所有的操作方法都定义在接口内。
4)I/O流文件的操作。此模块负责把数据库的某些数据导出到本文件或者办公文件,以及对二维码和条形码图像的生成并保存。
3.2 数据库设计
在数据库中建立3张数据表,分别为:students、instruments_control、instruments。
学生信息表(students)包括姓名、学号、班级、电话和备注字段,学生的学号作为主键且不为空,如表1所示。
表1 学生信息
仪器借还表(instruments_control)字段有学生的学号、仪器编号、借出时间、仪器状态、归还时间、管理员以及详细备注。本表的学号添加外键,记录中不会出现学生信息表没有的学号,如表2所示。
表2 仪器借还
仪器设备表(instruments)字段包含35个仪器设备的基本信息,主要字段是仪器编码(t_code),通过字段来查询仪器设备的信息,如表3所示。
表3 仪器设备
4系统实现关键代码
…
//条形码的生成方法
public static voidCreateOneDCode(String content,String path) {
BitMatrix matrix = null;
try {
matrix = new MultiFormatWriter().encode(content,BarcodeFormat.CODE_128,500,200);
int width = matrix.getWidth();
int height = matrix.getHeight();
int[]pixels = new int[width * height];
for (int y = 0;y < height;y++) {
for (int x = 0;x < width;x++) {
if (matrix.get(x,y)) {
pixels[y * width + x]= 0xff000000;
}else{
pixels[y * width + x]= 0xffffffff;
}
}
}
Bitmap bitmap = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels,0,width,0,0,width,height);
}
} catch (WriterException e) {
e.printStackTrace();
}
}
//二维码的生成方法
public static void CreateTwoDCode(String content,String path) {
int width = 200,height = 200;
if (content.length() < 1) {
return;
}
try {
Hashtable
hints.put(EncodeHintType.CHARACTER_SET,"utf-8");
BitMatrix bitMatrix = new QRCodeWriter().encode(content,BarcodeFormat.QR_CODE,width,height,hints);
int[]pixels = new int[width * height];
for (int y = 0;y < height;y++) {
for (int x = 0;x < width;x++) {
if (bitMatrix.get(x,y)) {
pixels[y * width + x]= 0xff000000;
} else {
pixels[y * width + x]= 0xffffffff;
}
}
}
Bitmap bitmap = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
bitmap.setPixels(pixels,0,width,0,0,
width,height);
// 此处省略部分代码……
} catch (WriterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
5结束语
针对目前测绘类高校实验室的测绘仪器管理中存在的问题,开发了一种基于Android的管理系统,基本解决了仪器收发效率低、管理与维护难的问题,提高了实验室对仪器的管理与维护水平。现在的移动设备支持多种硬件,比如:重力感应器、陀螺仪、距离感应器、磁场感应器、振动等硬件设备,系统可以在这些硬件的帮助下变得更加快捷、完美。
参考文献
[1]张海瑞,吴学饶,兰小机.基于ArcGIS for Android野外实习数据采集与导航系统的实现[J].测绘工程,2015,24(3):36-39.
[2]周山.基于Android智能手机的测绘软件开发应用探讨[J].硅谷,2013,(15):41-42.
[3]杨万全.基于物联网技术的仪器管理系统设计[J].周口师范学院学报,2014,31(5):134-136.
[4]郭宏志.Android应用开发详解[M].北京:电子工业出版社,2010.
[5]吴亚峰.Android核心技术与实例详解[M].北京:电子工业出版社,2010.
[6]陈钊.Android程序主要组成部分概述[J].中国新技术新产品,2011(17):4-6.
[7]韩超.Android经典应用程序开发[M].北京:电子工业出版社,2012.
[责任编辑:郝丽英]
Management system design of surveying and mapping teaching instrument based on Android
YU Hai-chao,YANG Jin-ling,WEI Yuan-cheng,TAN Ren-liang,WEI Yu-qiang,SUN Chang-wen
(College of Surveying and Mapping Engineering,Heilongjiang Institute of Technology,Harbin 150050,China)
Abstract:Through the analysis of the problems existed in the surveying and mapping instrument management and maintenance of geomatics university laboratory,this paper based on the Android system designs a set of intelligent,informatization,rigorous management solutions to surveying and mapping instruments. This management system can further improve the utilization efficiency of instruments and equipment of surveying and mapping lab, simplify the management and maintenance of surveying and mapping instruments and equipment,and improve the teaching quality of specialized practice of surveying and mapping.
Key words:Android;SQLite3;QR code;bar code;intelligent terminal
作者简介:于海潮(1992-),男,本科生,研究方向:测绘工程.
基金项目:黑龙江省大学生创新创业训练计划项目(201411802017)
收稿日期:2015-07-07
中图分类号:TP391.7
文献标识码:A
文章编号:1671-4679(2015)06-0041-03