基于Android的污水定位与上报系统的设计与实现

2017-10-21 05:38高慧文周巧扣丁涵清沈红威
电脑知识与技术 2017年18期

高慧文 周巧扣 丁涵清 沈红威

摘要:随着现代工业的迅速发展,水资源的污染呈上升趋势,为方便污水的定位处理,设计了一种基于Android的污水定位与上报系统。系统分为服务器端和客户端,服务器端采用ASP.NET框架以及C#程序设计语言构建污水处理系统的主体,采用Web Service技术为手机终端提供了污水上报的功能,客户端基于Android平台实现了污水的定位与上报子系统,经过对系统的实际运行,验证了系统的可行性及实用性。

关键词:Android;污水处理系统;GPS;web service;ASP.NET

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)18-0231-03

1背景

随着工业的发展以及城市化进程的加快,水资源污染程度呈上升趋势,如果污水得不到及时的处理将会进一步恶化,严重的甚至危害居民的健康。为了及时对污水进行定位和处理,设计了一种基于Android的污水定位与上报系统。系统由服务器端和客户端两个组成部分,服务器端采用ASP.NET框架以及C#程序设计语言构建的Web网站,主要负责对污水信息进行处理,客户端采用Eclipse集成开发环境Java程序设计语言,开发的基于Android的应用程序,主要负责污水的定位和上报。

2系统的总体加框

系统的总体功能结构如图1所示。系统中的服务器端主要包含:污水管理模块,人员管理模块,数据导出模块,数据备份模块,以及Web Service模块。客户端主要包含:污水定位上报模块、污水处理情况查询模块,软件功能介绍等模块。

2.1服务端的功能

污水管理模块是服务器端的核心功能模块,主要包含:污水类别管理,污染等级管理,污水信息管理,污水信息录入,城市河道信息,污染处罚条例等。系统中将污水的类别分为:生活污水、工业污水、农业废水等类别。污染等级描述的是水污染的严重程度,根据严重程度安排污水处理的优先级。污水信息管理主要是查看客户端上报的污水信息,以及安排污水处理人员处理污水。在服务器端也可以通过污水信息录入模块添加污水信息。城市河道信息主要列举了城市主要的河道名称以及位置信息。污染处罚条例模块记录了污水处罚的相关法律条例。

人员管理模塊:系统中的人员分为两种:管理员和污水处理人员。管理员可以对污水信息进行增删改操作,也可以对污水处理人员的信息进行增删改操作,此外管理员还可以指定某一个污水处理人员对某一处的污水进行处理。污水处理人员只能查看管理员安排给自己的污水处理任务,以及对污水处理的状态进行设置。

数据导出和数据备份模块:可以将服务器端中数据库里的数据导出为Excel工作表,方便工作人员进行数据统计。为了提高系统的健壮性,系统中提供了数据备份功能,可以将系统中的数据库文件备份到指定的目录,一旦数据库文件损坏可以还原数据库文件,使得系统的运行不受影响。

Web Service模块:为手机客户端提供了污水信息上报的方法以及查询污水处理情况的方法,客户端可以使用Web Service技术连接该模块,调用该模块中的两个方法实现污水的上报和信息查询功能。

2.2客户端的功能

污水定位上报模块:污水定位上报模块是客户端的核心模块,主要调用手机GPS定位功能实现污水位置的精确定位,返回污水位置的经度和纬度。此模块还提供手机拍照功能,拍取污水现场的照片上报到服务器端,其运行界面如图2所示。

污水处理情况查询模块:当客户端上报污水信息成功后,会返回给客户端一个查询编号,客户端可以根据这个编号查询污水处理的情况,实时跟踪污水处理的结果和当前的进度。

软件介绍模块:包含软件的使用说明,以及各个模块的功能。

3关键技术

3.1 Web Service

Web Service建立在一些技术标准上,涉及的主要技术包括SOAP、WSDL和UDDI等,系统中采用的是SOAP协议进行服务器和客户端的通信。SOAP协议包含以下4个部分:

1)SOAP封装(Envelop),它定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应该接收并处理它以及如何处理。

2)SOAP编码规则(Encoding Rules),它定义了一种序列化的机制,用于表示应用程序需要使用的数据类型的实例。

3)SOAP RPC表示(RPC Representation),它定义了一个协议,用于表示远程过程调用和应答。

4)SOAP绑定(Binding),它定义了SOAP使用哪种协议交换信息。可以使用的协议包括HTYP、TCP、UDP等。

KSOAP2是Enhydra.org的一个开源作品,是EnhydraME项目的一部分。Ksoap2-android-assembly-2.5.4-jar-with-depen-dencies.jar是KSOAP2在Android下的一个移植版本,利用它可以非常方便地访问Web Service。Android开发环境中默认情况下不支持SOAP协议,所以在Android项目中如果使用SOAP协议,必须下载Ksoap2-andmid-assembly-2.5.4-iar-with-depen-dencies.jar或者更高的版本,并且将其添加到项目文件的类库中。

在项目中使用Web Service的步骤如下:

1)创建SoapObject对象,在其构造函数中指定服务器端Web Service的网址,以及客户端想要调用的方法的名称。通过SoapObjeet对象的addProperty()方法为所调用的方法添加参数值。

2)创建SoapSefializationEnvelope对象对SoapObject对象进行封装,因为项目中的服务器端采用的是ASP.NET框架,所以需要将SoapSerializationEnvelope对象的dotNet属性设置为true,允许其访问ASP.NET框架写的服务器端。endprint

3)创建HttpTransportSE对象,根据提供的网址将SoapSeri-alizationEnvelope对象发送到指定的服务器上,并调用SoapOb-ject对象中指定的方法。

41如果方法调用成功,则通过SoapSerializationEnvelope对象的getResponse()方法获取服务器端发回的数据,返回的数据是XML数据,需要对其进行解析。

3.2手机GPS定位

Android定位一般可以分为两类:GPS定位和Network定位,而且Network定位又可以细分为WIFI定位和基站定位。

GPS定位:手机GPS定位可以直接和卫星交互来获取当前手机所处位置的经度和纬度,但是需要有GPS硬件的支持。优点是:速度快,精度高,可以在无网络的情况下使用,缺点是不能在室内使用,需要到户外使用,而且比较耗电。

基站定位:一般使用手机附近的三个基站进行三角定位,由于每个基站的位置是固定的,利用电磁波在这三个基站间中转需要的时间来算出手机所在的坐标。其优点是受环境的影响情况较小,只要有基站都可以进行定位。缺点是需要网络,并且定位不是很准确。

WIFI定位:WIFI定位是根据一个固定的WIFIMAC地址,通过手机到的该WIFI热点的位置,然后访问网络上的定位服务以获取经度和纬度信息。优点就是受环境因素较小,只要有WIFI就行,缺点也是定位不是很准确。

介于以上几种手机定位方法优缺点的分析,系统中采用的是GPS定位,原因有两个:第一,污水定位系统需要精确的污水定位信息,方便污水处理人员快速找到污水的位置及时对污水进行处理;第二,污水一般都是在戶外,所以使用GPS定位没有限制。

使用GPS定位的步骤如下:

1)首先创建LocationManager对象

21创建子类实现LocationListener接口,重写接口中的on-LocationChanged(Loaction arg())方法通过参数arg()的getLongi-tude()和getLatitude0两个方法获取经度和纬度。

3)通过LocationManager对象的requestLocationUpdates()方法设置定位的方法,例如,GPS_PROVIDER或者NET-WORK_PROVIDER,前者为使用GPS定位后者为使用Network定位,以及设置LocationListener接口对象的实例。

当手机位置发生改变时,就会执行LoeationListener接口中的onLocationChanged()方法从而可以获取手机位置的经度和纬度信息。

4结束语

本文设计了一种基于Android的污水定位与上报系统,首先介绍了系统开发的背景以及意义,接着介绍了系统的总体功能结构,对于每个功能模块进行了描述。最后,对系统中采用的关键技术进行详细的阐述。系统的实际运行将有助于污水的快速定位和上报,节省了污水处理时间,为了改善人们的生活环境,提高水资源的质量有着积极的意义。endprint