当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Android城市导游系统的设计与实现

摘 要: 智能手机与Internet 服务的结合是未来信息发展和软件应用的趋势。Android 手机操作系统是Google 公司于2007 年11 月宣布的基于Linux? V2.6 内核的开源的手机操作系统,具有广泛的应用和发展前景。本文中将Web 开发中的三层架构移植改进为数据服务器、应用服务器和手机客户端三层的系统架构,提出了基于web services 的一种软件开发框架,并依据这种框架开发了Android 城市导游系统,可以实现对城市主要景点、住宿、饮食、购物等基础信息的在线查询。

  1 引言

  手机是人们可以随身携带的便利的通讯工具,随着智能手机的出现,它也成为人们快速方便的获得信息的一种重要途径。而越来越多的手机软件更是迅速的改变着人们的生活。但是,由于硬件及存储空间的限制,手机中存储的信息也受到了限制。

  本文中,将手机软件开发与Internet 相结合,将Web 三层架构移植到手机软件的开发中,设计并实现了基于Android 操作系统的手机应用软件--城市导游系统,可以实现对城市主要景区、酒店、旅店的分类查询,以及通过使用者的手机定位功能实现对其周边景区、酒店、旅店的信息查询,实现了城市导游中的游玩、饮食、住宿等的查询需求。

  2 Android 操作系统介绍

  Android 是Google 于2007 年11 月宣布的基于Linux? V2.6 内核的开源的手机操作系统。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。但是,Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。因此 Android 也可以用于其他的平台和应用程序,发展前景非常广阔。

  Android 系统采用了分层的架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库和Linux 核心层。在应用程序层中,提供了丰富的核心应用程序,包括email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。应用程序框架层简化了组件的重用,任何一个应用程序都可以发布或使用其他应用程序发布的功能块。系统运行库包含一组核心库和Dalvik 虚拟机。应用程序框架层。Linux 核心层用来提供系统的底层服务,位于硬件和其它软件层之间,采用 YAFFS2 文件系统。

  3 系统框架设计

  在基于Web 的软件开发中,常用到Web 三层架构,即用户接口层,业务逻辑层,数据访问层。用户接口层,即客户端或浏览器端,主要负责数据的显示。业务逻辑层,即应用服务器,主要负责数据的业务逻辑处理。数据访问层,即数据服务器,主要负责对数据库的存取操作。

  Web 三层架构可以移植到手机应用程序的开发中,将手机的应用程序作为客户端,负责用户接口层的工作,而大量的数据存储在Internet 数据服务器中,逻辑业务的处理由应用服务器负责,从而实现智能手机与Internet 的结合,可以使手机轻松方便的访问Internet 上的大量数据。

  在基于Android 的城市导游系统中,采用了客户端、应用服务器和数据服务器三层架构。本系统整体架构如图1 所示。客户端是基于Android 操作系统的手机应用程序,负责数据的输入、解析和显示。应用服务器主要以Web Services 的方式提供服务,并在数据处理中使用了Lucene 索引和中文切词技术。数据服务器主要负责数据的存储,数据库采用MySQL.

  将系统的整体架构分成三个部分,各个部分相对独立,将数据的存储、处理和显示分开,有利于系统的开发和维护;各个部分之间的联系通过软件来连接,也有利于系统的变迁和升级。

图1 系统架构图

  4 系统的模块图

  城市导游系统主要实现对城市景区、购物、食宿等信息的查询,以及通过手机定位查询周边的相关信息。系统的模块图如图2 所示。其中,在景区、购物、食宿的各个模块中,还可以具体按照城市的分区查询、精确查询、按照排行等进行进一步细致的查询。

图2 系统模块图

5 系统的设计实现

5.2 逻辑业务处理

  对数据的逻辑处理是连接数据服务器和客户端的重要组成部分。将数据的处理部分独立出来,将数据的存储和显示分开,真正实现了系统的逻辑独立性和物理独立性。对于数据的逻辑处理, 采用基于Apache Axis2 引擎来建立Web Services 服务的方法来实现。将所需要的数据以服务的方式提供,便于客户端对数据的访问,也有利于服务的更新与维护。

  Apache Axis2 是新一代的SOAP 引擎,采用名为AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML 解析器提供的灵活性按需构造对象模型。

  客户端对数据的需求往往是批量的数据,即从数据库或索引中查询出的数据是多条记录集的形式。而对于这些记录集的处理是相当复杂的,为了简化WebServices 的处理和客户端的解析,将结果集封装在自图7 景点查询界面定义的类中。

  如在景区模块中,定义了类SceneryArray 存放景点列表信息的记录集。定义了函数public SceneryArraygetService1(String area),主要功能是根据用户输入的信息,查询并返回查询到的景点列表,把结果集封装到自定义类SceneryArray 的对象中, 返回SceneryArray 的对象。对于函数getSercice1(Stringarea)将发布成Web Services 服务。

  5.3 客户端的设计

  客户端,也就是用户所使用的智能手机,本系统基于Android 操作系统开发。用户可以通过智能手机提供的输入界面输入要查询的信息,然后连接服务器,最后将所需数据在客户端显示。由于Web Services提供的数据是自定义类的形式,客户端还要负责对数据的部分解析处理。在客户端, 采用了KSoap2 Android 来实现连接服务器和数据的解析等工作。KSoap2 Android 是 Android 平台上一个高效、轻量级的 SOAP 开发包。等同于 Android 上的KSoap2 的移植版本。是一个SOAPwebservice客户端包。主要用于资源受限制的Java 环境如Applets 或J2ME 应用程序(CLDC/CDC/MIDP)。

  6 设计结果与分析

  城市导游系统使用户可以便捷的通过智能手机终端连接和访问Internet 服务器,获得数据和信息服务。将手机的方便快捷与Internet 服务器的大数据容量和高性能服务支持有效的结合起来,发挥二者之优势。图7 是系统的景点查询界面,图8 是通过手机定位以便查询周边信息的界面。

图7 景点查询界面

图8 地图定位界面。

  7 结束语

  本系统中将Web 开发中的三层架构移植改进为数据服务器、应用服务器和手机客户端三层的系统架构,便于系统各部分的独立开发,有利于系统的更新和维护,并可以方便的将本系统升级以适用于不同手机操作平台,从而实现本系统的跨平台应用。智能手机与Internet 服务的结合必将成为未来信息发展的趋势,而基于智能手机和Internet 服务的软件应用也必将有着广泛的应用前景。

  5.1 数据服务器的实现

  数据服务器主要负责数据的存储,包括数据库和文件两种形式。数据库采用MySQL 数据库。MySQL是一个小型关系型数据库管理系统,它被广泛地应用在Internet 上的中小型网站中。其体积小、速度快、总体拥有成本低,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,非常灵活。城市导游系统的数据库结构如下。

  (1) Scenery:负责记录景点的信息。

图3 scenery

  (2) Market:负责记录消费场所的信息。

图4 market.

  (3)restaurant:负责记录餐饮场所的信息。

图5 restaurant.

  (4)hotel:负责记录住宿信息。

图6 restaurant.

  对于数据库中的大量数据,根据用户对这些数据的敏感度不同,数据的查询概率也不同,对于经常查询的数据,可以通过建立索引的方式来提高查询的速度。本系统采用Lucene 检索引擎和中文切词技术,针对数据库中,查询概率较大的数据建立索引文件,将对数据库中大量数据的查询转化为对索引文件的查询,从而大大的提高了查询效率。而索引文件的建立和查询都是通过软件实现,有利于数据的更新和维护。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序

洛杉矶、马德里和墨西哥城2023年8月30日 /美通社/ -- 如今,父母和看护者越来越担心孩子们的屏幕暴露和屏幕互动。 为指导父母为家人做出理想的屏幕时间决策,排名第一的儿...

关键字: LINGO BSP 应用程序 COM

瓦努阿图维拉港2023年8月28日 /美通社/ -- Vantage(或"Vantage Markets")欣然宣布在Vantage应用程序上推...

关键字: GE AN 信号 应用程序

(全球TMT2023年8月24日讯)2023年8月23日,时值实时3D引擎Unity在华设立合资公司Unity中国一周年之际,Unity中国正式推出Unity中国版引擎——团结引擎。Unity全球CEO John Ri...

关键字: UNITY CE Android 开发者

报告显示:全球电商 App 获客花费接近50亿美元 北京2023年8月23日 /美通社/ -- 全球营销衡量与体验管理平台 AppsFlyer 近日发布《2023 电商 App 营销现状报告》。尽管面临全球经...

关键字: APPS BSP iOS Android

(全球TMT2023年8月14日讯)亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。亚马逊云科技的区域由一个地理区域内的多个相互独立、且在物理上分隔的可用区组成。亚马逊云科技以色列(特拉维夫)区域...

关键字: 亚马逊 应用程序 开发者 数据中心

北京——2023年8月14日 亚马逊云科技日前宣布在以色列(特拉维夫)推出亚马逊云科技基础设施区域。新的亚马逊云科技区域将为开发者、初创公司、创业人士和企业,以及政府机构、教育和非营利组织提供更多运行其应用程序的选择,他...

关键字: 亚马逊 应用程序 云技术

据业内消息,近日国家工信部印发了《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,并表示在广泛征集APP主办者等互联网信息服务提供者、网络接入服务提供者、应用分发平台、智能终端生产企业等各方意见的基础上,组织开...

关键字: 工信部 应用程序 App 小程序

Amazon Entity Resolution利用机器学习帮助企业匹配和连接存储在多个应用程序、渠道和数据存储系统中的记录 ActionIQ、Amazon Ads、Best Western、LiveRamp、...

关键字: RESOLUTION 亚马逊 机器学习 应用程序
关闭
关闭