朱光艺 姜宏
【摘要】本文将Android平台与电梯检测相结合,实现了在电梯检测现场进行数据录入、编辑及传输功能;实现了Android手机对检测数据进行处理,完成数据的增删改查及发送操作功能;利用手机终端中无线网络发送功能,分别开发并实现通过无线、有线及蓝牙等方式将电梯检测数据发送至服务器端的功能,提高了电梯检测的效率。
【关键词】数据处理;无线网络;电梯检测;安卓
0引言
随着城市发展,截至2011年底,全国在用电梯总数达到201万台,并以每年20%左右的速度增长,目前我国电梯保有量、年产量、年增长量均列世界第一[1]。与此同时,庞大的电梯数量必然造成电梯安全检测工作量的大幅增加。目前,很多电梯安全检测工作仍在使用手工抄录的方式完成数据录入和处理,这使得数据易丢失,数据传送不及时,造成电梯不能及时维修,对使用者人身安全造成了巨大的威胁。面对电梯检测领域内检测数据量大,数据处理效率低这一突出问题,运用移动通讯技术开发专用的数据处理系统十分必要。
1系统构成及运行环境
根据国家《电梯监督检验和定期检验规则》[2]等标准,在对电梯检测部门需求分析的基础上,电梯检测数据处理系统以Android为平台,使用SQLite数据库,分别运用xml和java语言完成系统界面和数据处理功能的实现。本系统设计并开发了数据存储模块、数据编辑模块和数据传输模块。
考虑到电梯检测现场对数据传输的要求,分别开发了远程无线网络传输模式、近距离蓝牙传输模式以及USB传输模式。系统结构如图1所示:
图1电梯检测系统架构
2相关开发技术
2.1Android
Android[3]一词本义指“机器人”,是一种基于Linux的自由及开放源代碼的操作系统,主要适用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android的系统架构和其他操作系统一样,采用了分层的架构,Android分为4层,从高层到低层分别是应用程序层、应用程序架构层、系统运行库层和Linux内核层[4]。
2.2SQLite 数据库
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存。该数据库能够支持Windows/Linux/Unix等主流的操作系统,具有ODBC接口,同时能够跟C#、PHP、Java等很多程序语言相结合,与Mysql、PostgreSQL这两款开源数据库管理系统来讲,它的处理速度更快。
3功能模块设计与实现[5-8]
电梯检测数据处理系统,利用Android技术,在MyEclipse软件平台上开发,本系统所开发的主要功能模块有:用户注册模块、系统查询模块、系统检测数据处理模块和信息发送模块。
3.1用户界面模块
用户界面作为系统体现友好的人机交互接口,本系统使用了JSP页面来实现,其用户界面包括:主界面、功能界面、用户信息管理界面等。
3.2登录注册模块
用户登入系统后,首先对用户是否首次登录判断,根据结果对应完成注册操作和使用用户名及密码登录操作。本系统可以通过用户名将密码查询出来与输入的密码相匹配,密码区分大小写。
3.2.1模块开发
考虑到系统的安全性,首先要求输入密码两次,并将两次输入的密码相比较,看是否一致;其次验证信息,输入身份证号的后6位,以保证密码丢失时找回密码,也提高了密码的安全性。通过用户输入的数据将信息插入到SQLite数据库中。如果非首次登录已注册过用户,根据用户注册时设定好的用户名及密码进行登录。
3.2.2模块应用
系统注册模块主要是将初次登入系统的用户信息保存在数据库中,方便对各用户的管理。系统登录模块是通过调用用户注册过程中保存在数据库中的用户名和密码,通过与输入信息的比对来完成后续操作,合法用户会允许登录,非法用户将被拦截。
3.3系统查询模块
需先选择需要查询的检测日期及设备注册码,若有该信息,则会显示出已保存的表,若没有,则会提示没有记录。
3.3.1模块开发
电梯检测数据处理系统查询模块的定义和页面布局方法如下所示:
android:id="@+id/query_datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> android:layout_height="wrap_content" android:layout_width="fill_parent" android:stretchColumns="1" android:layout_marginTop="10sp" > 3.3.2模块的应用 查询模块在系统中主要运用于数据库中信息的搜寻。 3.4系统检测数据处理模块 系统检测数据处理模块作为系统性能检测数据的处理核心,在整个设计过程中决定性的作用。 3.4.1模块开发 系统检测数据处理模块主要对测试获取的数据进行处理,然后根据检测的要求生成一个完整的电梯检测报告,报告的内容包括制造单位、用户设备编号等信息。在不同的处理界面可以完成编辑、重置、退出、发送等操作,如图2所示。 3.4.2模块的应用 系统检测模块设计过程 3.5信息发送模块 信息发送过程中主要通过三种形式实现:①无线发送;②蓝牙发送;③有线发送。 3.5.1模块的开发 (1)无线发送 先判断网络是否连接,若无连接,调用系统网络连接界面,连接网络,网络连接上后将文件发送给服务器。 (a)检测报告(b)检测详情 图2系统检测页面 NetworkInfo network=conManager.getActiveNetworkInfo();//判断是否有网络资源 bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();//判断网络是否已开启 intent=new Intent(Settings.ACTION_WIRELESS_SETTINGS); //调用系统开启网络界面 Socket socket = new Socket(InetAddress.getByName(url.getHost()), port); //连接服务器端 OutputStream outStream = socket.getOutputStream();//发送文件 byte[] buffer = new byte[1024]; int len = 0; while ((len = uploadFile.getInStream().read(buffer, 0, 1024)) != -1) {outStream.write(buffer, 0, len); } (2)蓝牙发送 先判断蓝牙是否开启,开启蓝牙后弹出是否将蓝牙可视的窗口,进入文件选择界面,点击要发送的蓝牙设备,完成文件发送。
bluetoothAdapter=BluetoothAdapter.getDefaultAdapter();//判断是否有蓝牙设备
bluetoothAdapter.isEnabled()//判断蓝牙是否开启
Intent disconverableIntent=New Intent (BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); //开启蓝牙是否可见
startActivity(disconverableIntent);
intent.setAction(Intent.ACTION_SEND); //进入文件发送界面
intent.setClassName("com.android.bluetooth"
"com.android.bluetooth.opp.BluetoothOppLauncherActivity");
startActivity(intent);
(3)有線发送
有线发送即将数据保存至sdcard中指定文件中,通过USB方式将数据输入服务器端。
//saveFilePath:保存文件的路径
File dir_name = new File(saveFilePath);
//判断路径是否存在,若不存在,新建文件夹路径
if(!dir_name.getParentFile().exists())
{dir_name.getParentFile().mkdirs();}
dir_name.createNewFile();//在指定的文件夹中创建文件
fw = new FileWriter(saveFilePath, true); // 创建FileWriter对象,用来写入字符流
bw = new BufferedWriter(fw); // 缓冲对文件的输出
//content:存储文件的数据;将数据写入到指定的文件中
bw.write(content);
3.5.2模块的应用
信息发送模块的设计如图3所示:
(a)发送方式 (b)设备选择
图3信息发送模块
4结论
随着社会需求的不断提高,传统电梯检测数据处理方式已经不适应用户的要求。将移动通讯技术和智能终端设备应用到电梯检测数据处理工作中,能够有效地解决电梯数量爆发式增长与低效检测工作之间的矛盾。
因此,基于Android的电梯检测数据处理系统具有非常现实的经济和社会意义,本系统的开发和应用对于专业检测部门开展移动便携式检测具有重要的参考价值。
【参考文献】
[1]http://news.cnwest.com/content/2013-03/06/content_8642156.htm[OL].
[2]中华人民共和国国家质量监督检验检疫总局. TSGT7001-2009.中国特种设备检测研究院.北京:中国标准出版社,2009.
[3]王世江(改编),佘志龙(作者),陈昱勋(作者),等. Google Android SDK开发范例大全.3版[M].北京:人民邮电出版社,2011.
[4]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011-6-22.
[5]周治国.基于Java的E-mail系统客户端的设计与实现[J].2004(22):169-172. [6]张孝祥.Java邮件开发详解[M].北京:电子工业出版社,2007.
[7]王路群.Java高级程序设计[M].北京:中国水利水电出版社,2006.
[8]Lin Chuang,Tian Yuan,Yao Min.Green network and green evaluation:Mechanism,modeling and evaluation[J]. Chinese Journal of Computers,2011,34(4):596-622.
[责任编辑:曹明明]