在安卓平台上使用web服务查找停车场外文翻译资料

 2022-12-02 19:50:55

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料


在安卓平台上使用web服务查找停车场

Isak Shabani,Besmir Sejdiu,Fatushe Jasharaj

计算机工程系电子和计算机工程系

普里什蒂纳大学

科索沃共和国

摘要

过去十年中的许多Web应用程序都是使用基于简单对象访问协议(SOAP)的Web服务构建的,因为这些Web服务通常是Web应用程序和移动应用程序的最佳选择。研究及其结果显示了现在如何在移动平台(如Android)上使用主要用于桌面的体系结构和系统(如带SOAP消息的Web服务调用)。
本文的目的是研究Android移动平台,更确切地说就是在Android平台上搭建Web服务的能力,并探索在Android平台上搭建Web服务的现有备选方案。人们现在每天都会使用他们的车辆进行交通,这当然会导致对寻找停车场的不间断的需求。在我们在这篇文章中提出了一个命名为MyParking的系统,其目的是为了便于用户根据其当前位置为他们的车辆找到停车场。 MyParking包含三个模块:Android客户端,服务器和Web服务。
关键词 - Web应用程序;网页服务; Android平台;移动设备; MyParking

第一章、介绍

过去几年,智能移动设备越来越流行,全球销售的移动设备总数在不断增长。与此同时,这些设备的计算能力也正在以惊人的速度增长,几年来已经快要比肩台式个人电脑的运算能力了。由于前几代移动设备的许多限制(如有限内存和持久存储容量,有限的CPU功率以及有限和不连续的互联网连接),现在这些设备可用于高级应用。随着移动设备的普及及其增长,一些企业为它们创建了一系列平台和应用程序编程环境。 如Symbian OS,PalmOS,J2ME,Blackberry,Windows Mobile,iOS和Android等。像iOS和Android等操作系统目前被设备供应商广泛用于他们的移动设备中。所有这些平台都需要特定的编程语言或特定于应用程序实现的语言。唯一一个独立于平台且适用于大多数最新平台中存在的虚拟机的是Java ME。不幸的是,Java ME已经很老了,用JavaEE进行设计会存在很多的限制。这使得Java ME在今天这个时代显得有些过时,但它是唯一一个独立于技术的平台。Android支持一组Java API,它使用Java作为编程语言,且具有广泛的自适应支持。Android内置了用于用户界面图形的组件以及由第三方开发人员构建的一组关键应用程序。基于面向服务的体系结构和SOAP消息协议为其构建了一系列服务平台。开发者可以通过为这些平台创建移动客户端,可以更好地支持Android系统的使用。

由于大多数商业应用程序不是纯粹的移动应用程序,而是在分布式和复杂的软件系统中使用移动客户端,因此至少需要通过分布式应用程序平台来实现独立服务器。Web服务通常用于提供这样的实现。由于大多数客户端移动应用程序需要更微妙的交互,并且通过它们这种方式为具象状态传输(RESTful)Web服务,商业应用程序的语义丰富接口通常使用基于SOAP的Web服务。因此,为了能够在业务流程中使用新出的移动设备,在移动设备平台中支持SOAP Web服务显得非常重要。现在对SOAP Web服务的支持在上述平台中还并不完美,但还有其他方式可以使用这些服务[1]。应用程序提供一种可以通过HTTP发送命令从另一个应用程序以编程方式调用的接口类型时,就被称为Web服务的一个例子。

移动设备中的应用程序需要通过使用Web服务与其他系统组件进行通信。因此这个项目的目的是解释如何能够在Android平台上使用这些SOAP Web服务。

第二章、背景以及最近的工作

移动应用程序所需的常用功能之一是调用Web服务来描述数据。该过程包括使用获取响应参数来搜索Web服务。目前主要有两种不同类型的Web服务:SOAP和RESTful。

SOAP服务通常具有规定好的协议。 此协议是用Web服务描述语言(WSDL)编写的,并且是由使用Web服务的客户发布的。 此外,这些类型的服务主要使用可扩展标记语言(XML)来满足需求和数据响应。

RESTful服务比SOAP服务更专业,因为它们不使用WSDL,它们使用基于初步建立的XML和HTTP标准。这些类型的服务可以自由地以各种可能的格式存储和发送数据,并且它们之间的通信更容易。

2.1在Android上使用RESTful Web服务

RESTful的Web服务简单,可扩展,易于使用,并且能够处理各种各样的客户端需求[4]。在技术层面上,Web服务可以在Android中实现。在实现之前,Web服务的客户端应该考虑到在移动设备会受到电池电量和网络带宽的限制。 XML负载中有许多模块和SOAP元素层。因此,与Android设备中RESTful客户端Web服务的使用不同,SOAP服务的使用对开发人员来说成本更高,对用户来说也更昂贵。此外,Android SDK通过以HTTP客户端的形式提供库/包来支持RESTful Web服务的使用。

2.2在Android上使用SOAP Web服务

移动应用端中存在着相当数量的基于SOAP的Web服务。特别是在企业领域,移动设备中的应用程序需要通过使用Web服务与其他系统的组件进行通信。Android并不提供对Web服务的本地支持,但存在一个名为kSOAP2的库,它允许以简单有效的方式在Android设备上使用基于SOAP的Web服务[5]。 此库是作为免费开源的第三方库,特地针对Android进行了优化。

在我们开发的系统MyParking中,Android中的Web服务是通过kSOAP2实现的。 实际上,kSOAP2 [7]只是一个简化的Android中基于SOAP协议的库。该库包含了基本传输层的细节,为不同的消息序列化提供了不同的机制,并有助于处理SOAP协议中的缺陷。 该库基于SOAP体系结构,不需要生成任何代理/存根来调用Web服务方法

在不同的国家有不同的应用程序来查找停车场

(1)S.Srikanth et.al [9]提出了智能停车(SPARK)管理系统,该系统提供远程停车监控,自动指导和停车预定机制等先进功能。尽管目前系统还处于开发的状态,但是他们提出的架构是满足停车管理系统要求的。

(2)S. Khang et.al [10]提出了一种停车系统,司机可以在短信服务的帮助下了解停车场的可用车位。如果不存在空余车位,驾驶员可以重新发送SMS以请求新的车位。驾驶员可以使用基于无线移动的停车场系统找到最近的停车位。测试的结果显示该系统能够有效地分配停车位。

(3)G. Yan et.al,[11]提出了基于NOTICE的停车系统。在这个停车系统中,司机可以检查并预定停车位。该系统出于安全目的使用加密/解密技术,仿真结果非常有效。

目前在科索沃,并没有出现类似的帮助用户寻找停车位的应用,因此本文提出的系统将可以得到广泛的应用。

第三章、系统设计

MyParking是一款Android应用程序,可帮助用户根据其位置找到停车场。此应用程序的主要目的是帮助用户根据其位置找到停车位。除用于客户端的MyParking模块外,还存在用于客户端模块与服务器之间的通信的管理模块以及用于停车场与服务器之间的通信的Web服务。在本文的上下文中,客户端是一个在Android移动平台中执行并访问SOAP Web服务器的应用程序。

3.1系统架构

系统由管理模块和客户端模块组成。管理模块是在Microsoft .NET Framework 4.0 / ASP.NET平台中开发的,编程语言使用C#。在Android平台上开发客户端应用程序,需要使用Java编程语言和其他组件,这些组件是使用ADT插件和Android SDK开发Android应用程序(如Eclipse)所需的。为了交换客户端和服务器之间的数据,使用在ASP.NET 4.0平台中开发的SOAP Web服务。

如图1所示的系统架构由三个主要部分组成:Android客户端,服务器和停车场。在Android客户端使用应用程序进行客户端注册,可以通过邻近地点,城市和地址搜索停车场。在服务器端对停车场,城市以及客户进行管理,向用户发送停车场数量、空余车位数量等等。

图1

3.2网络架构

在图2中给出了由数据库服务器、发布管理模块的web服务器、发布空余空位web服务的服务器和由安卓设备(客户端)发布的web服务的服务器组成的系统网络体系结构,其中由安卓客户端发布的web服务用以获取相关停车位的信息,包括:位置、空闲地点的数量、地点总数、价格和地址。

图2

第四章、数据库设计

系统包含了SQL Server平台中的服务器数据库和客户端数据库SQLite。表1列出了服务器数据库中的数据表及其描述。

表1

表2给出了客户端数据库中的数据表及其描述,数据库表之间的关系如图3所示。

表2

图3

第五章、通过网络服务进行数据同步

Parkings和服务器之间的通信是通过SOAP Web服务完成的[8]。这些Web服务由两种Web方法组成:

(1)PostParkingFreeSpace
(2)PostParkingData

PostParkingFreeSpace - 由两个参数组成:parkingCode(识别哪个停车位正在发送停车位的数据代码)和freeSpace(实际处于停车位的空闲位数)。这种方法每次在停车场改变空闲位置的数量时都会被停车场调用。

PostParkingData - 包含两个参数:parkingCode(标识停车码,停车场发送数据的停车码)、总空间(总停车位数)。这种Web方法很少从停车场中调用,只有当改变地点或更改价格时被调用。
Android客户端和服务器之间的通信也由SOAP Web服务完成。Android客户端依靠服务器发送和接收数据。我们开发了两种在服务器中用于发送数据的Web方法:
(1)PostClient
(2)PostClientVisit

PostClient - 通过这种方法,当用户注册时,用户的注册信息将会发送到服务器中。 发送的数据为:电子邮件,名字,姓氏和注册日期。

PostClientVisit - 当用户打开Android应用程序时,需要从Android客户端调用Web方法向服务器发送应用程序的相关信息。发送的数据包括:电子邮件,日期,客户端设备的Android版本以及他的实际地理位置(经度和纬度)。

为了从服务器获取数据,开发了三种Web方法:

(1)ListSyncTable

(2)ListCities
(3)ListParkings

ListSyncTables列出了用于同步的表,例如表的名称以及该表的上次更新(插入/更新)的日期。通过比较上次更新日期和SQLite中的SyncTables表中的日期(在Android设备中),可以很清楚的知道哪些数据需要更改。如果SQLite表中最后一次更新的日期早于恢复特定表(例如Parkings)的ListSyncTables Web方法的列表的日期,那么应该理解,在该表中,数据的某些更改和该表中的数据是必需的。
ListCities - 作为输入参数接受从客户端同步表中获取的日期(表中名称为“城市”),可以在SQLite中找到并从服务器恢复城市列表 - 仅限于那些在输入参数日期之后添加/修改的城市。在客户数据库SQLite的城市表中添加/修改这些城市之后。城市的同步就是这样完成的。同样的功能也通过使用ListParkings Web方法达到相同的效果。

第六章、接口

6.1客户端应用程序MyParking

客户端应用程序MyParking是从用户的角度来进行设计的。我们努力的目标是设计必须非常简单且易于理解。客户端应用程序表单采用XML设计,业务逻辑采用Java编写。 Google Maps API可以使用户更容易找到与当前位置距离最近的停车位。用户不需要花大力气去了解应用程序中的功能和导航。以下是客户端应用程序的主要界面:

(1)注册界面

(2)主页

(3)通过附近搜索停车场

(4)按城市搜索停车场

(5)通过地址搜索停车场

(6)停车场的详细信息界面

6.1.1注册界面

在安装应用程序之后,注册表单仅向用户显示一次。在注册界面,用户通过提供如姓名,姓氏和电子邮件等数据进行注册。这些数据通过Web服务自动发送到服务器。图4展示了注册表格

图4

6.1.2主页

主页表格在用户注册后显示。如果用户之前注册了,则此表单以应用程序的开始形式打开。在这个表格的顶部显示用户在地图上的当前位置,以及五个最近的停车位(如果有的话),而底部是用于高级搜索(通过邻近度,城市和地址搜索)和用于更新数据的按钮。界面如下图所示。

图5

6.1.3通过邻近搜索停车场

通过单击主页上的“按距离搜索”按钮可以搜索靠近的停车场。 通过此表格,用户可以在地图中或以列表形式查看最近的停车场。下图(a)显示了靠近当前位置的停车场。点击特定停车场,会出现包含关于该停车场信息的窗口以及“显示路径”链接;如图(b)所示,该窗口显示了从当前位置到所选停车场的路径。在图(c)中展现的是通过邻近搜索停车场的结果,其中停车场

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[21694],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付