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 解析器提供的灵活性按需构造对象模型。
客户端对数据的需求往往是批量的数据,即从数据库或索引中查询出的数据是多条记录集的形式。而对于这些记录集的处理是
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)