999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的火車時刻表查詢系統(tǒng)設(shè)計與實(shí)現(xiàn)

2012-04-12 00:00:00弋改珍解爭龍張琨
現(xiàn)代電子技術(shù) 2012年4期

摘要:為方便手機(jī)用戶即時查詢火車時刻信息,在Eclipse平臺上,采用Java語言,設(shè)計實(shí)現(xiàn)基于Android平臺的火車時刻表查詢系統(tǒng)。設(shè)計包括三大部分:界面設(shè)計、Web Service請求和SQlite數(shù)據(jù)庫訪問。各界面使用Activity作為容器,部署B(yǎng)utton等控件,并為控件設(shè)置監(jiān)聽器,使用Intent對象在各Activity之間傳遞信息;采用httpClient.execute()方法提出Web Service請求,對返回的XML通過Dom4j進(jìn)行解析并顯示在界面;最后將感興趣的信息保存在本地數(shù)據(jù)庫。該系統(tǒng)的功能包括按發(fā)車站到達(dá)站查詢,按車次查詢,按本地查詢。系統(tǒng)的特色是將從Internet上獲得的信息進(jìn)行本地化,即對查詢得到信息進(jìn)行重復(fù)利用。

關(guān)鍵詞:Android; 火車時刻表; Web Service; SQlite

中圖分類號:TN91134; TP315文獻(xiàn)標(biāo)識碼:A文章編號:1004373X(2012)04004104

Design and implementation of Androidbased query system for train timetable

YI Gaizhen, XIE Zhenglong, ZHANG Kun

(School of Information and Engineering, Xianyang Normal University, Xianyang 712000, China)

Abstract: To conveniently query the information of train time table, the Androidbased query system of the train timetable was designed and implemented with Java language on Eclipse platform. The design includes three parts: interface design, WebService requests and SQLite access. Activity is adopted as a container for all the interfaces to arrange ActiveXs, set a monitoring apparatus for ActiveXs, and use Intent objects pass messages between Activities. httpClient.execute() method is adopted to request the WebService, resolve the response XML with Dom4j, and display the result on the interfaces. Finally, the interested information is storeed in the local database. The system's functions include the query according to startstationarrivestation and traincode, and native query. The system's characteristic is to localize the information from Internet, that is to say that the information can be reused.

Keywords: Android; train timetable; WebService; SQlite

收稿日期:20110910

基金項(xiàng)目:陜西省科技廳自然科學(xué)基礎(chǔ)研究計劃項(xiàng)目(SJ08ZT14);陜西省教育廳資助項(xiàng)目(08JK481)0引言

Andriod是基于Linux內(nèi)核的操作系統(tǒng),是Google公司在2007年11月公布的手機(jī)操作系統(tǒng)。該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。《視界》特別報道:2010年第四季度全球采用Android系統(tǒng)的智能手機(jī)發(fā)貨量占到當(dāng)季總發(fā)貨量的33%,問世僅3年時間的Android一舉超越Symbian坐上了智能手機(jī)操作系統(tǒng)的頭把交椅。因此,基于Android平臺的軟件開發(fā)具有廣闊的應(yīng)用前景。

隨著3G網(wǎng)絡(luò)的使用,基于Android平臺軟件開發(fā)的研究正在如火如荼地進(jìn)行,文獻(xiàn)[1]介紹了Android的系統(tǒng)架構(gòu),分析了該平臺的特點(diǎn);文獻(xiàn)[2]介紹了基于Android進(jìn)行軟件開發(fā)時平臺的搭建過程;文獻(xiàn)[3]在模擬器Dalvik上實(shí)現(xiàn)了不同平臺終端設(shè)備間即時通信的功能;文獻(xiàn)[45]通過視圖和布局,給出基于Android技術(shù)的界面設(shè)計實(shí)現(xiàn)方法。本文在前期工作的基礎(chǔ)上,設(shè)計實(shí)現(xiàn)了手機(jī)在線火車時刻表查詢系統(tǒng),該程序可下載到手機(jī)上,實(shí)現(xiàn)隨時隨地查詢火車時刻表信息。軟件功能包括按照發(fā)車站和到達(dá)站進(jìn)行查詢,按照車次進(jìn)行查詢,可將查詢到的且經(jīng)常使用的火車時刻信息保存在本地,以便在無網(wǎng)絡(luò)信號時進(jìn)行本地查詢。

1火車時刻表查詢系統(tǒng)的設(shè)計

1.1系統(tǒng)功能設(shè)計

依據(jù)WebXml.com.cn[2]火車時刻表Web服務(wù)提供的信息,本文主要實(shí)現(xiàn)以下功能:

(1) 站站查詢:通過發(fā)車站和到達(dá)站查詢火車時刻表。

(2) 車次查詢:通過火車車次查詢火車時刻表。

(3) 本地查詢:將已經(jīng)查詢到的信息保存在本地數(shù)據(jù)庫,以便在沒有網(wǎng)絡(luò)時進(jìn)行本地查詢。

系統(tǒng)功能模塊圖如圖1所示。

圖1系統(tǒng)功能模塊圖1.2系統(tǒng)框架結(jié)構(gòu)

利用手機(jī)上網(wǎng)功能,從Internet的Web Service[67]獲取火車時刻表信息,得到的結(jié)果一方面可以在線瀏覽;另一方面將經(jīng)常使用的一些信息保存在本地數(shù)據(jù)庫,以便在沒有手機(jī)信號或無網(wǎng)絡(luò)時進(jìn)行本地查詢,系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2系統(tǒng)結(jié)構(gòu)1.3數(shù)據(jù)流圖

根據(jù)需求,系統(tǒng)啟動以后,首先看到的是主界面,主界面有3種選擇,分別是按發(fā)車站到達(dá)站查詢,按車次查詢和按本地查詢,并實(shí)現(xiàn)相應(yīng)的功能。當(dāng)用戶選擇按發(fā)車站到達(dá)站查詢,并按車次查詢輸入相應(yīng)的參數(shù)后,系統(tǒng)會從Web獲取信息,然后顯示給用戶,單擊某條信息可以進(jìn)行保存操作。當(dāng)用戶選擇本地查詢時,系統(tǒng)會調(diào)用本地數(shù)據(jù)庫,將本地已保存的車次信息,顯示給用戶,數(shù)據(jù)流圖如圖3所示。

圖3數(shù)據(jù)流圖2關(guān)鍵技術(shù)

2.1Web Services

Web Services[8]是由企業(yè)發(fā)布的完成其特定商務(wù)需求的在線應(yīng)用服務(wù),其他公司或應(yīng)用軟件都能夠通過Internet來訪問并使用這項(xiàng)在線服務(wù)。它是一個應(yīng)用組件,邏輯性地為其他應(yīng)用程序提供數(shù)據(jù)與服務(wù),各應(yīng)用程序通過網(wǎng)絡(luò)協(xié)議和規(guī)定標(biāo)準(zhǔn)數(shù)據(jù)格式(HTTP,XML,SOAP)來訪問Web Service,通過Web Service內(nèi)部執(zhí)行得到所需結(jié)果。Web Service可以執(zhí)行從簡單的請求到復(fù)雜商務(wù)處理的任何功能。WebXml.com.cn火車時刻表Web服務(wù)提供站站查詢;車次查詢;車站所有車次查詢。

2.2Dom4j

Java解析XML主要有4種方式[9]:Dom,Sax,Jdom,Dom4j,這四種方式各有優(yōu)缺點(diǎn)。其中,Dom4j是一個Java的XML API,具有性能優(yōu)異,功能強(qiáng)大和極端易用的特點(diǎn),同時也是一個開放源代碼的軟件。

2.3SQLite

SQLite是一個非常流行的嵌入式數(shù)據(jù)庫,它支持 SQL 語言,并且只利用很少的內(nèi)存就有很好的性能。此外,它還是開源的,Android 運(yùn)行時環(huán)境包含了完整的 SQLite。該系統(tǒng)在設(shè)計過程中使用SQLite管理保存在本地的查詢信息。

3核心功能設(shè)計與實(shí)現(xiàn)

3.1按發(fā)車站到達(dá)站查詢界面

系統(tǒng)涉及的界面較多,以“按發(fā)車站到達(dá)站”查詢界面為例,介紹界面設(shè)計過程。

Android提供了幾種布局管理方式[10],其中常用的布局為LinearLayout和TableLayout兩種。LinearLayout是線性布局,是最常用的一種,也是最簡單的一種,它也可以嵌套LinearLayout。該系統(tǒng)設(shè)計過程中主要采用LinearLayout方式。

界面設(shè)計步驟如下:

(1) 按照Android項(xiàng)目目錄設(shè)計規(guī)則,設(shè)計查詢界面的布局,并將其存放在res目錄下的一個xml文件中。

(2) 在Activity文件中使用setContentView([布局文件名])讀取界面的布局。

(3) 在Activity中,為按鈕設(shè)計監(jiān)聽器,在監(jiān)聽器中使用Intent在多個Activity之間傳遞參數(shù)和信息。

(4) 在Activity中將按鈕與監(jiān)聽器綁定。

3.4查詢信息本地化

為了使在Internet上查詢得到的信息能在本地重復(fù)使用,在查詢結(jié)果中選擇感興趣的信息保存在SQLite數(shù)據(jù)庫中。使用SQliteOpenHelper類訪問數(shù)據(jù)庫,調(diào)用該類的getReadableDatabase()方法可獲得一個SQLiteDatabase對象,然后調(diào)用onCreate(),onOpen(),onUpgrade()等方法對數(shù)據(jù)庫進(jìn)行操作。關(guān)于數(shù)據(jù)庫的查詢,SQlite對標(biāo)準(zhǔn)的SQLSelect語句進(jìn)行了格式化,使用Cursor android.database.sqlite.SQliteDatabase.query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy)語句。該系統(tǒng)在數(shù)據(jù)庫中定義貨車信息表(車次代號,車次始末站,乘坐發(fā)車站,發(fā)車時間,乘坐到達(dá)站,到達(dá)時間,里程,花費(fèi)時間)。

利用Android的調(diào)試工具adb可以通過命令行查看所建立的數(shù)據(jù)庫database。在database目錄下,使用命令Sqlite3打開數(shù)據(jù)庫Train.db,在SQLite的二級提示符下,利用其子命令可以對其進(jìn)行查詢操作,如圖5所示。

圖5數(shù)據(jù)庫的命令行調(diào)試3.5運(yùn)行實(shí)例

如圖6所示,以按車次查詢?yōu)槔?dāng)按車次進(jìn)行查詢時,輸入車次D32(不是一個具體的車次),系統(tǒng)會查找出所有以D32開頭的車次信息,如圖6(a)所示。選擇需要的一項(xiàng),如圖6(a)中的第二項(xiàng),會彈出如圖6(b)所示的界面,若需要保存此項(xiàng),則單擊“保存”按鈕,以備下次在本地查詢。

圖6按車次的前幾個字符查詢4結(jié)語

根據(jù)移動用戶的需求,本文基于Android平臺開發(fā)了火車時刻信息查詢系統(tǒng)。該系統(tǒng)已經(jīng)過測試,能夠在手機(jī)上正常運(yùn)行。該系統(tǒng)能夠?yàn)橐苿佑脩籼峁┓奖恪⒖旖莸幕疖囆畔⒉樵兎?wù),具有重要的應(yīng)用價值。在此基礎(chǔ)上還可對系統(tǒng)功能進(jìn)行擴(kuò)充,也可以以該系統(tǒng)為例,設(shè)計和實(shí)現(xiàn)其他基于Android平臺的Internet服務(wù),如航班查詢、某地區(qū)的地圖查詢等。

參考文獻(xiàn)

[1]劉衛(wèi)國,姚昱禹.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機(jī)系統(tǒng)應(yīng)用,2008(11):110112.

[2]宋小倩,周東升.基于Andriod平臺的應(yīng)用開發(fā)研究[J].軟件導(dǎo)刊,2011,10(2):104106.

[3]趙亮,張維.基于Android技術(shù)的界面設(shè)計與研究[J].電腦知識與技術(shù),2009,29(5):81838185.

[4]姚昱禹,劉衛(wèi)國.Android與J2ME平臺間即時通信的研究與實(shí)現(xiàn)[J].計算機(jī)系統(tǒng)應(yīng)用,2008(12):118120.

[5]張誠潔.Andriod在線圖書閱讀器設(shè)計與實(shí)現(xiàn)[J].微計算機(jī)應(yīng)用,2010,31(10):7680.

[6]MONTANARI U.Web services and models of computation \\[J\\]. Electronic Nots in Theoretical Computer Science, 2004, 105: 59.

[7]Anon. Web services \\[J\\]. Electronic Notes in Theoretical Computer Science, 2004, 105: 95108.

[8]Anon. TraintimeWeb service \\[EB/OL\\]. \\[20110603\\]. http://webservice.webxml.com.cn.

[9]郭宏志.Android應(yīng)用程序開發(fā)詳解[M].北京:電子工業(yè)出版社,2010.

[10]陳璟,陳平華,李文亮.Android內(nèi)核分析[J].現(xiàn)代計算機(jī),2009(11):112115.

主站蜘蛛池模板: 国产浮力第一页永久地址| 青草视频久久| 亚洲欧美另类日本| 色男人的天堂久久综合| 亚洲全网成人资源在线观看| 在线无码九区| 亚洲精品欧美重口| 亚洲一级毛片免费看| 无遮挡一级毛片呦女视频| 色亚洲成人| 中文字幕1区2区| 免费一级全黄少妇性色生活片| 99视频国产精品| 日韩天堂网| 欧美激情福利| 中文纯内无码H| 日本欧美一二三区色视频| 高清无码一本到东京热| 国内精品九九久久久精品| 欧美一区福利| 少妇精品网站| 无码精油按摩潮喷在线播放| 亚洲精品第一在线观看视频| 日本精品影院| 伊人成人在线视频| 亚洲色大成网站www国产| 网久久综合| 99久久精品国产综合婷婷| 国产综合精品一区二区| 国产永久在线视频| 久久精品嫩草研究院| 天天摸夜夜操| 欧美日韩国产综合视频在线观看| 精品少妇人妻av无码久久| 久久亚洲精少妇毛片午夜无码| 久久中文字幕不卡一二区| 免费毛片全部不收费的| 亚洲综合久久一本伊一区| 国产精品无码久久久久久| 亚洲精品成人7777在线观看| www.亚洲天堂| 亚洲欧美成aⅴ人在线观看| 中国一级特黄视频| 亚洲手机在线| 人妻丰满熟妇AV无码区| 亚洲精品国产乱码不卡| 国产三级成人| 亚洲一本大道在线| 国产91色| 精品国产美女福到在线不卡f| 欧美性猛交一区二区三区| 青青热久免费精品视频6| 91免费观看视频| 日韩福利视频导航| 久久人与动人物A级毛片| 一本色道久久88| 精品乱码久久久久久久| www.日韩三级| 国产视频a| 伊人成人在线| 国产精品久久久久鬼色| 国产精品亚洲一区二区在线观看| 国产日韩欧美一区二区三区在线| 免费黄色国产视频| 国产男人天堂| 国产精品视频a| 熟妇丰满人妻| 国产精品视频a| 成人福利在线免费观看| 国产精品福利导航| 国产在线麻豆波多野结衣| 亚洲毛片在线看| 日韩亚洲综合在线| 青草免费在线观看| 国产欧美在线观看精品一区污| 无码中文字幕精品推荐| 亚洲男人的天堂久久香蕉| 澳门av无码| 精品一区二区三区水蜜桃| 久久a级片| 免费播放毛片| 激情在线网|