【Android源码 栏目提醒】:以下是网学会员为您推荐的Android源码 -原创基于Android的火车时刻表查询系统设计与实现 - 设备制造,希望本篇文章对您学习有所帮助。
摘要:为方便手机用户即时查询火车时刻信息,在 Eclipse 平台上,采用 Java 语言,设计实现基于
Android 平台的火车时刻表查询系统。
设计包括三大部分: Web 界面设计、 Service请求和 SQlite 数据库访问。
各界面使用 Activity 作为容器,部署 Button 等控件,并为控件设置监听器,使用 Intent 对象在各 Activity 之间传递信息;采用 httpClient.execute方法提出 Web Service 请求,对返回的 XML 通过 Dom4j 进行解析并显示在界面;最后将感兴趣的信息保存在本地数据库。
该系统的功能包括按发车站到达站查询,按车次查询,按本地查 系统的特色是将从 Internet 上获得的信息进行本地化,询。
即对查询得到信息进行重复利用。
中国论文网 关键词:
Android; 火车时刻表; Web Service SQlite 中图分类号:TN91134 TP315 文献标识码:A 文章编号:1004373X201204004104 Design and implementation of Androidbased query system for train timetable YI Gaizhen XIE Zhenglong ZHANG Kun School of Information and Engineering Xianyang Normal University Xianyang712000 China Abstract : To conveniently query the information of train time table theAndroidbased query system of the train timetable was designed and implemented withJava language on Eclipse platform. The design includes three parts: interface designWebService requests and SQLite access. Activity is adopted as a container for allthe interfaces to arrange ActiveXs set a monitoring apparatus for ActiveXs and useIntent objects pass messages between Activities. httpClient.execute method isadopted to request the WebService resolve the response XML with Dom4j and displaythe result on the interfaces. Finally the interested information is storeed in thelocal database. The systems functions include the query according tostartstationarrivestation and traincode and native query. The systemscharacteristic is to localize the information from Internet that is to say that theinformation can be reused. Keywords:
Android train timetable WebService SQlite 收稿日期:20110910 基金项目:陕西省科技厅自然科学基础研究计划项目(SJ08ZT14) ;陕西省教育厅资助项目(08JK481)0 引言 是 Andriod 是基于 Linux 内核的操作系统, Google 公司在 2007 年 11 月公布的手机操作系统。
该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
《视界》特别报道:2010 年第四季度全球采用
Android 系统的智能手机发货量占到当季总发货量的 33,问世仅 3 年时间的
Android 一举超越 Symbian坐上了智能手机操作系统的头把交椅。
因此,基于
Android 平台的软件开发具有广阔的应用前景。
随着 3G 网络的使用,基于
Android 平台软件开发的研究正在如火如荼地进行,文献〔1〕介绍了
Android 的系统架构,分析了该平台的特点;文献〔2〕介绍了基于
Android 进行软件开发时平台的搭建过程;文献〔3〕在模拟器 Dalvik 上实现了不同平台终端设备间即时通信的功能;文献〔45〕通过视图和布局,给出基于
Android 技术的界面设计实现方法。
本文在前期工作的基础上,设计实现了手机在线火车时刻表查询系统,该程序可下载到手机上,实现随时随地查询火车时刻表信息。
软件功能包括按照发车站和到达站进行查询,按照车次进行查询,可将查询到的且经常使用的火车时刻信息保存在本地,以便在无网络信号时进行本地查询。
1 火车时刻表查询系统的设计 1.省略〔2〕火车时刻表 Web 服务提供的信息,本文主要实现以下功能: (1) 站站查询:通过发车站和到达站查询火车时刻表。
(2) 车次查询:通过火车车次查询火车时刻表。
(3) 本地查询:将已经查询到的信息保存在本地数据库,以便在没有网络时进行本地查询。
系统功能模块图如图 1 所示。
图 1 系统功能模块图 1.2 系统框架结构 利用手机上网功能,从 Internet 的 Web Service〔67〕获取火车时刻表信息,得到的结果一方面可以在线浏览;另一方面将经常使用的一些信息保存在本地数据库,以便在没有手机信号或无网络时进行本地查询,系统结构如图 2 所示。
图 2 系统结构 1.3 数据流图 根据需求,系统启动以后,首先看到的是主界面,主界面有 3 种选择,分别是按发车站到达站查询,按车次查询和按本地查询,并实现相应的功能。
当用户选择按发车站到达站查询,并按车次查询输入相应的参数后,系统会从 Web 获取信息,然后显示给用户,单击某条信息可以进行保存操作。
当用户选择本地查询时,系统会调用本地数据库,将本地已保存的车次信息,显示给用户,数据流图如图 3 所示。
图 3 数据流图 2 关键技术 2.省略火车时刻表 Web 服务提供站站查询;车次查询;车站所有车次查询。
2.2Dom4j :DomSaxJdomDom4j,这四种方式各有优缺点。
其 Java 解析 XML 主要有 4 种方式〔9〕中,Dom4j 是一个 Java 的 XML API,具有性能优异,功能强大和极端易用的特点,同时也是一个开放源代码的软件。
2.3SQLite SQLite 是一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能。
此外,它还是开源的,
Android 运行时环境包含了完整的 SQLite。
该系统在设计过程中使用 SQLite 管理保存在本地的查询信息。
3 核心功能设计与实现 3.1 按发车站到达站查询界面 系统涉及的界面较多,以“按发车站到达站”查询界面为例,介绍界面设计过程。
〔10〕其中常用的布局为 LinearLayout 和 TableLayout
Android 提供了几种布局管理方式 ,两种。
LinearLayout 是线性布局,是最常用的一种,也是最简单的一种,它也可以嵌套LinearLayout。
该系统设计过程中主要采用 LinearLayout 方式。
界面设计步骤如下: (1) 按照
Android 项目目录设计规则,设计查询界面的布局,并将其存放在 res 目录下的一个 xml 文件中。
(2) 在 Activity 文件中使用 setContentView〔布局文件名〕读取界面的布局。
(3) 在 Activity 中,为按钮设计监听器,在监听器中使用 Intent 在多个 Activity之间传递参数和信息。
(4) 在 Activity 中将按钮与监听器绑定。
3.4 查询信息本地化 为了使在 Internet 上查询得到的信息能在本地重复使用,在查询结果中选择感兴趣的信息 保 存 在 SQLite 数 据 库 中 。
使 用 SQliteOpenHelper 类 访 问 数 据 库 , 调 用 该 类 的getReadableDatabase方法可获得一个 SQLiteDatabase 对象,然后调用 onCreate,onOpen,onUpgrade等方法对数据库进行操作。
关于数据库的查询,SQlite 对标准的SQLSelect 语 句 进 行 了 格 式 化 , 使 用 Cursorandroid.database.sqlite.SQliteDatabase.queryString tableString 〔 〕columnsString selectionString 〔 〕 selectionArgsString groupByStringhavingString orderBy语句。
该系统在数据库中定义货车信息表(车次代号,车次始末站,乘坐发车站,发车时间,乘坐到达站,到达时间,里程,花费时间)。
利用
Android 的调试工具 adb 可以通过命令行查看所建立的数据库 database。
在database 目录下,使用命令 Sqlite3 打开数据库 Train.db,在 SQLite 的二级提示符下,利用其子命令可以对其进行查询操作,如图 5 所示。
图 5 数据库的命令行调试 3.5 运行实例 如图 6 所示,以按车次查询为例,当按车次进行查询时,输入车次 D32(不是一个具体 ,系统会查找出所有以 D32 开头的车次信息,如图 6a所示。
选择需要的一项,如的车次)图 6a中的第二项,会弹出如图 6b所示的界面,若需要保存此项,则单击“保存”按钮,以备下次在本地查询。
图 6 按车次的前几个字符查询 4 结语 根据移动用户的需求,本文基于
Android 平台开发了火车时刻信息查询系统。
该系统已经过测试,能够在手机上正常运行。
该系统能够为移动用户提供方便、快捷的火车信息查询服务,具有重要的应用价值。
在此基础上还可对系统功能进行扩充,也可以以该系统为例,其他基于
Android 平台的 Internet 服务,如航班查询、某地区的地图查询等。
参考文献 〔 1 〕 刘 卫 国 , 姚 昱 禹 .
Android 的 架 构 与 应 用 开 发 研 究 〔 J 〕 . 计 算 机 系 统 应用200811:110112. 〔 2 〕 宋 小 倩 , 周 东 升 . 基 于 Andriod 平 台 的 应 用 开 发 研 究 〔 J 〕 . 软 件 导刊2011102:104106. 〔 3 〕 赵 亮 张 维 . 基 于
Android 技 术 的 界 面 设 计 与 研 究 〔 J 〕 . 电 脑 知 识 与 技术2009295:81838185. 〔4〕姚昱禹刘卫国.
Android 与 J2ME 平台间即时通信的研究与实现〔J〕.计算机系统应用200812:118120. 〔 5 〕 张 诚 洁 .Andriod 在 线 图 书 阅 读 器 设 计 与 实 现 〔 J 〕 . 微 计 算 机 应用20103110:7680. 〔6〕MONTANARI U.Web services and models of computation J. Electronic Notsin Theoretical Computer Science 2004 105: 59. 〔7〕Anon. Web services J. Electronic Notes in Theoretical Computer Science2004 105: 95108. 〔8〕Anon. TraintimeWeb service EB/OL. 20110603. http://webservice.省略. 〔9〕郭宏志.
Android 应用程序开发详解〔M〕.北京:电子工业出版社2010. 〔10〕陈,陈平华,李文亮.
Android 内核分析〔J〕.现代计算机200911:112115.转载请注明来源。
原文地址: