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.

主站蜘蛛池模板: a级毛片免费网站| 国产69囗曝护士吞精在线视频| 欧美人人干| 国产亚洲欧美日韩在线一区| 老司机精品99在线播放| 色婷婷狠狠干| 91久久国产热精品免费| 成人自拍视频在线观看| 尤物视频一区| 2021亚洲精品不卡a| 人妻少妇久久久久久97人妻| 91精品免费久久久| 青青草原国产一区二区| 久久福利网| 亚洲制服丝袜第一页| 91亚洲精选| 午夜福利亚洲精品| 91青青在线视频| 日本不卡在线播放| 欧美一区精品| 国产精品一区在线观看你懂的| 亚洲成网777777国产精品| 国产香蕉在线| 白浆视频在线观看| 亚洲天堂网2014| 欧美日韩成人| 久久男人视频| 国产色伊人| 日本在线免费网站| 丰满的熟女一区二区三区l| 狠狠久久综合伊人不卡| 国产精品私拍99pans大尺度| 婷婷99视频精品全部在线观看| 日韩亚洲综合在线| 国产精品成人久久| 在线视频精品一区| 综合色在线| 在线播放精品一区二区啪视频 | 蜜桃臀无码内射一区二区三区| 亚洲第一成人在线| 国产av色站网站| 无套av在线| 国产在线八区| 国产欧美亚洲精品第3页在线| 国产97视频在线| 亚洲无码一区在线观看| 国产熟女一级毛片| 亚洲制服丝袜第一页| 欧美精品成人一区二区在线观看| 日本三区视频| 国产一区二区三区夜色 | 国产成人乱无码视频| 日韩二区三区| 精品福利视频导航| 亚洲国产清纯| 99视频国产精品| 久久成人国产精品免费软件| 在线视频一区二区三区不卡| a色毛片免费视频| 国产高清自拍视频| 欧美一级99在线观看国产| 乱色熟女综合一区二区| 国产九九精品视频| 精品自窥自偷在线看| 国产清纯在线一区二区WWW| 亚洲精品免费网站| 丰满的熟女一区二区三区l| 国产美女叼嘿视频免费看| 久久伊人久久亚洲综合| 久久精品国产精品青草app| 欧美区一区| 国产精品成人久久| 波多野结衣一区二区三区四区视频| 久久久亚洲色| 色精品视频| 岛国精品一区免费视频在线观看| 中文无码日韩精品| 日韩人妻无码制服丝袜视频| 国产精品网址在线观看你懂的| 99视频在线精品免费观看6| 欧美性天天| 亚洲黄色成人|