智能手机与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.1 数据服务器的完成
数据服务器首要担任数据的存储,包含数据库和文件两种方法。数据库选用MySQL 数据库。MySQL是一个小型联系型数据库办理体系,它被广泛地运用在Internet 上的中小型网站中。其体积小、速度快、整体具有成本低,既能够作为一个独自的运用程序运用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中供给多言语支撑,十分灵敏。城市导游体系的数据库结构如下。
(1) Scenery:担任记载景点的信息。
图3 scenery
(2) Market:担任记载消费场所的信息。
图4 market.
(3)restaurant:担任记载餐饮场所的信息。
图5 restaurant.
(4)hotel:担任记载住宿信息。
图6 restaurant.
关于数据库中的很多数据,依据用户对这些数据的敏感度不同,数据的查询概率也不同,关于常常查询的数据,能够经过树立索引的方法来进步查询的速度。本体系选用Lucene 检索引擎和中文切词技能,针对数据库中,查询概率较大的数据树立索引文件,将对数据库中很多数据的查询转化为对索引文件的查询,然后大大的进步了查询功率。而索引文件的树立和查询都是经过软件完成,有利于数据的更新和保护。
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 服务的软件运用也必将有着广泛的运用远景。