基于Android的校园报警平台的设计与实现

2013-07-03 08:15乔荣爱
计算机与现代化 2013年8期
关键词:接收器服务器端应用程序

肖 飞,乔荣爱

(南阳理工学院软件学院,河南 南阳 473004)

0 引言

作为一个公共场所,大学校园存在人员流动大、突发事件多等问题,例如盗窃、违法小广告、破坏公共设施、打架斗殴等。目前,虽然Android智能手机在师生中的普及率很高,但是当案件发生时,很多人还是使用电话功能来报警。传统的电话报警需要拨号和语音,具有等待时间长、口头表达不清、容易被违法嫌疑人察觉等缺点。绝大多数情况下,嫌疑人的顺利逃脱都是由于报警不及时造成的。

基于Android手机在师生中普及率高、校园无线网络接入方便等现状,本文开发一个针对校园环境的报警系统,可以对智能手机的定位、拍照、图形界面等特征进行编程,使之能够快速、安全地将案发现场的信息发送给相关机构。

1 相关技术

为了实现快速报警,Android手机端的应用程序需要借助App Widget技术来快速启动,使用定位技术将案发地点报告给服务器[1];而目击者上传的照片及录音,对保卫人员进一步了解案情也是十分重要的。

1.1 App Widget技术

Widget是Android手机主屏幕上的一些小部件,用户可以通过它们“一目了然”地获得重要的数据,或者控制应用程序的运行,见图1。

图1 Android小部件

每个Widget必须包含以下3部分:

(1)AppWidgetProviderInfo对象,描述 Widget的数据更新频率、AppWidgetProvider类名等元数据。

(2)AppWidgetProvider的子类,定义对Widget广播消息响应的回调方法。

(3)View layout,通过XML定义Widget的初始布局。

1.2 定位技术

大多数Android手机内置了GPS接收器。GPS定位具有全天候、免费、精确等优点,但是卫星信号容易受到建筑物的阻挡,而且在没有星历数据或星历数据失效的情况下,GPS接收器的启动时间比较长(即冷启动),大约需要2分钟的时间。冷启动缓慢的原因:卫星信道的速率只有50bps,下载导航电文的一帧(1500比特)就需要30秒。解决的办法是:将最新的星历数据下载到某台服务器上,手机通过高速互联网从该服务器下载有效的星历数据,这就是A-GPS技术,见图2。借助A-GPS技术,手机从启动GPS接收器到获得精确的位置坐标,仅需几秒钟的时间。

图2 A-GPS技术

如果用户的手机接收不到GPS卫星信号或者没有配置GPS接收器,那么用户只能以人工方式在地图上指出自己的当前位置[2-5]。

1.3 手机拍摄

Android框架提供了一组Camera API来支持应用程序的拍照或拍摄视频功能,其中主要的API有:

(1)Camera:控制相机的最基本的类。

(2)SurfaceView:提供镜头的实时预览功能。

(3)MediaRecorder:记录视频。

应用程序员可以使用这些API创建一个新的相机应用,也可以使用Intent对象调用现有的Android相机应用。具体步骤如下:

(1)构造一个 MediaStore.ACTION_IMAGE_CAPTURE类型的Intent对象;

(2)通过Activity的startActivityForResult()方法启动该Intent对象;

(3)定义onActivityResult()回调方法,以接收相机的拍摄结果。照片或视频文件通常被保存到SD卡中。

2 系统设计

2.1 架构设计

Android报警系统的结构见图3。当用户需要报警时,可通过Android手机上的应用程序将报警人的手机号码、案件类型及位置等信息发送到保卫处。Android应用程序会首先选择WLAN(无线局域网)将信息发送到保卫处服务器上;如果WLAN不可用,则通过SMS(手机短信)将报警信息发送到保卫处公布的手机上。在条件允许的情况下,用户可通过表单将相关的手机照片、视频、文字等辅助信息上传[6-9]。

图3 系统结构图

2.2 功能设计

系统的功能分为:客户端和服务器两部分,见图4。客户端的功能有:一键报警(点击一下按钮,就可以发送一条完整的报警信息),填写表单(将案情的辅助信息,如照片、文字等上传服务器),拨号(保卫处电话)。服务器端的功能有:接收报警信息,浏览报警信息。

图4 系统功能图

3 系统实现

3.1 报警操作的主界面

图5 报警主界面

案发现场的目击者可以通过Android手机主屏上的Widget快速地打开报警应用程序,其操作主界面见图5。用户可以选择电话报警,点击最下方的拨号按钮,触发Android拨号程序去呼叫保卫处报警电话。如果用户不方便语音通话,点击“一键报警”按钮,案件类型、地点及用户手机号等信息会悄悄地被发送到保卫处的服务器或手机上。在条件允许的情况下,用户可以通过“填写表单”将现场的照片、文字说明上传到服务器端。

3.2 信息的收集与传输

一条完整的报警信息必须包含报警人手机号、案发地点等要素。报警人的手机号由用户在安装该报警应用程序后填写,然后保存到内部文件中。当启动报警时,再从内部文件读取出来。读取手机号的代码如下:

目前大多数Android手机都配备了GPS接收器,并支持A-GPS。获取报警人当前位置的代码:

要将报警信息通过网络发送给服务器,就必须在应用的AndroidManifest.xml文件中加入网络访问权限,即 <uses-permission android:name=”android.permission.INTERNET”/>。通过 HTTP协议发送信息的代码:

如果网络连接不通时,可以使用Android自带的SMS程序,将报警信息发送出去。发送短信的代码:

3.3 照片、文字上传

在条件允许的情况下,用户可以将现场拍摄的照片或详细的文字描述上传到服务器。Android客户端使用HttpURLConnection来上传文件,主要代码:

服务器端的Servlet程序使用Pache软件基金会Commons项目中FileUpload组件,来解析HTTP消息中的照片及文字描述。主要代码:

在服务器端,最新的报警信息由一个JSP页面显示给保卫处的值班员[10-14]。值班员通过对讲机告知巡逻队员,赶往报案地点处理。

4 结束语

本系统的实施依赖于Android手机普及率高、校园Wi-Fi热点多等条件,具有成本低、针对性强特点。但是也存在一些问题:信息从报警人到保卫处是单向流动的,还不能互动;当手机在室内时,很难通过GPS定位到用户的具体位置(比如楼层)。这也是笔者下一步需要改进和完善的地方。

[1] 宋崇生.基于Android手机的好友定位系统的探究与实现[J].科技视界,2012(12):152-154.

[2] 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究[J].信息技术,2012(1):82-85.

[3] 明日科技.Android从入门到精通[M].北京:清华大学出版社,2012.

[4] 刘正,陈强.基于Android的GPS应用中的研究与开发[J].中国西部科技,2010,9(32):15-16.

[5] 曾薪夷.基于Android平台的GPS导航系统的设计与实现[J].计算机与现代化,2012(9):225-228.

[6] 王秀平.基于物联网技术的校园安防系统设计[J].实验技术与管理,2011,28(8):103-106.

[7] 王鑫,蒋天发.基于Cacti与飞信的网络实时报警平台[J].广西大学学报:自然科学版,2011,36(10):47-50.

[8] 孙丘伟,余臻.基于GSM的短信报警收发平台设计[J].福州大学学报:自然科学版,2008,36(9):44-48.

[9] 徐磊,刘蓝,陶君.基于Wi-Fi城域网的城市公交网络监控报警平台研究[J].计算机时代,2010(7):10-12.

[10] 农丽萍,王力虎,黄一平.Android在嵌入式车载导航系统的应用研究[J].计算机工程与设计,2010,31(11):2473-2476.

[11] 范立锋,乔世权,程文彬.JSP程序设计[M].北京:人民邮电出版社,2009.

[12] Marty Hall.Servlet与JSP核心编程[M].北京:清华大学出版社,2004.

[13] 吴亚峰,苏亚光.Android应用案例开发大全[M].北京:人民邮电出版社,2011.

[14] 杨帆,赵东东.基于Android平台的Wi-Fi定位[J].电子测量技术,2012,35(9):116-119.

猜你喜欢
接收器服务器端应用程序
Linux环境下基于Socket的数据传输软件设计
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
JXG-50S型相敏轨道电路接收器自动测试台
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
ZPW-2000A轨道电路接收器冗余电路存在问题分析及对策
IDT推出超紧凑型无线电源接收器,可节省70%板面积
网页防篡改中分布式文件同步复制系统
三星电子将开设应用程序下载商店