freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的手機(jī)公交線路查詢系統(tǒng)設(shè)計畢業(yè)論文-在線瀏覽

2024-08-08 00:58本頁面
  

【正文】 S模式的工作過程中,客戶機(jī)程序發(fā)出請求,服務(wù)器程序接收并且處理客戶機(jī)程序提出的請求,然后返回結(jié)果。 B/S模式簡介精簡的說:B/S模式是一種從傳統(tǒng)的三層C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)也是三層結(jié)構(gòu)的C/S模式。用戶通過瀏覽器訪問服務(wù)器,進(jìn)行信息瀏覽、文件傳輸和電子郵件等服務(wù)。(2)B/S模式具有很強(qiáng)的開放性 在B/S模式下,用戶通過通用的瀏覽器進(jìn)行訪問,系統(tǒng)開放性好。(4)用戶使用方便 B/S模式的應(yīng)用軟件都是基于Web瀏覽器的,而Web瀏覽器的界面是類似的。用戶接觸的界面都是一致的,用戶使用方便。B/S模式和C/S模式都是三層結(jié)構(gòu),B/S模式第一層是表現(xiàn)層,第二層是業(yè)務(wù)邏輯層,第三層是數(shù)據(jù)訪問層。在B/S模式和C/S模式數(shù)據(jù)訪問過程和業(yè)務(wù)邏輯處理過程中是在服務(wù)器端完成,用戶只需接受服務(wù)器返回的結(jié)果。本手機(jī)公交線路查詢軟件一部分功能只要依靠手機(jī)本地數(shù)據(jù)庫就可以實(shí)現(xiàn),令外一部分功能需要借助互聯(lián)網(wǎng)實(shí)現(xiàn)。從整個作業(yè)量來看,本質(zhì)上是把作業(yè)量往客戶端多分?jǐn)傄徊糠?,降低服?wù)器的作業(yè)量,因此,對客戶端的硬件要求是比較高的。 B/SC/S模式結(jié)構(gòu)圖本軟件系統(tǒng)采用B/SC/S模式??蛻舳说臄?shù)據(jù)丟失的時候,可以采用數(shù)據(jù)庫同步的方式從服務(wù)器獲得新的數(shù)據(jù)信息。第四章 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫結(jié)構(gòu)服務(wù)器數(shù)據(jù)庫為總數(shù)據(jù)源,每一個客戶端都擁有獨(dú)立的小型數(shù)據(jù)庫。服務(wù)器的數(shù)據(jù)庫是基于Mysql建立,客戶端數(shù)據(jù)庫是基于SQLite建立。 數(shù)據(jù)庫體系結(jié)構(gòu)圖 服務(wù)器數(shù)據(jù)庫設(shè)計:。本軟件服務(wù)器數(shù)據(jù)庫所包含的表的描述如表1。SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。該軟件數(shù)據(jù)庫的建立是完全在Android平臺上執(zhí)行Java代碼,通過DVM編譯來建立的,沒有什么輔助工具,由于整個SQLite數(shù)據(jù)庫是非可視化操作,所有對數(shù)據(jù)庫的操作都是通過執(zhí)行Java代碼實(shí)現(xiàn),在完成其查詢功能的時候沒有使用數(shù)據(jù)庫高級編程,較為麻煩的關(guān)節(jié)是在如何有機(jī)的將客戶端數(shù)據(jù)庫整體結(jié)構(gòu)實(shí)現(xiàn)出來,實(shí)現(xiàn)過程是無可視界面,也沒有數(shù)據(jù)庫輔助工具情況下,整個過程很抽象。 數(shù)據(jù)庫設(shè)計。本軟件服務(wù)器數(shù)據(jù)庫所包含的表的描述如表6。 管理流程圖通過管理員模式進(jìn)入管理員添加線路頁面,可以添加公交線路名稱,首班發(fā)車時間,末班發(fā)車時間,線路全徑。 charset=gb2312 %% page language=java %% page import= %% page import=.* %% page import=%%(GB2312)。String route=(Route)。String finalDepartureTime=(LastDepartureTime)。 String user=root。 ().newInstance()。 PreparedStatement stmt_routes。 try{ //拋出異常就直接執(zhí)行rollback String insert_routes=insert into routes(RouteName,Content) values(?,?)。 //preparedstatement相比statement更具有優(yōu)勢 stmt_routes = (insert_routes)。 (1,routesName)。 (1,firstDepartureTime)。 ()。 ()。 //回滾 }finally{ ()。修改、。 charset=gb2312 %% page language=java %% page import= %% page import=.* %%(GB2312)。String firstDepartureTime=(firstDepartureText)。String updateValue=(Update)。 String url=jdbc:mysql://localhost:3306/arashmen。 String password=Jone。 Connection con=(url,user,password)。String update_departuretime=update departuretime set FirstDepartureTime=?,LastDepartureTime=? where RouteName=?。String strRoutes=null。 PreparedStatement stmt_departuretime = (update_departuretime)。 (2,routeName)。 (2,finalDepartureTime)。 ()。 ()。 ()。 (1,routeName)。 ()。 } (alert(\刪除成功!\))。 }catch(Exception e){ ()。 } %通過管理員模式進(jìn)入管理員查詢頁面,可以使用線路查詢和站點(diǎn)查詢。 charset=gb2312 %% page language=java %% page import= %% page import=.* %%(GB2312)。 String routeName=(routeName)。 String busStopEnd=(busStopEnd)。 String user=root。 ().newInstance()。 String query1=select * from routes where RouteName like ?。%htmlhead title線路查詢結(jié)果頁面/titlebody % if(().equals(1)){ PreparedStatement stmt = (query1)。 ResultSet rs=()。 String routesname=(RouteName)。 %/a % } ()。 ()。 (1,%+busStopBegin+%+busStopEnd+%)。 while(()){ String routes=(Content)。 % a href= %(routesname+:+routes+br+br+br)。 ()。 } %/body/head/html查詢結(jié)果如圖 。 按線路名稱查詢,如13路,13路公交車,13等只要不在13這個數(shù)字的1和3中間插入其他字符,就可以返回該線路的線路信息,票價信息和發(fā)車時間。(1) 獲取了A與B的信息后,在數(shù)據(jù)查詢語句中將組合成“%A%B%”的形式,進(jìn)入數(shù)據(jù)庫進(jìn)行查詢,將所查詢到的所有結(jié)果返回到頁面顯示。(2) 考慮是否是乘車方向不對,數(shù)據(jù)庫只存儲單向的線路,沒有存儲一條返回的線路,在此只需要在查詢語句中將A與B的位置交換,將其組合成“%B%A%”形式再次進(jìn)行查詢,如果仍舊沒有返回結(jié)果,那么很有可能是A到B處可能沒有直達(dá)公交線路,在此則要考慮換乘問題。算法請參考附錄B中算法onQueryStationOne(),onQueryStationTwo()??蛻舳私邮蘸笤俑鶕?jù)服務(wù)器端返回流的格式來解析數(shù)據(jù)。夾在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間。 XMLXml語言具有特殊規(guī)范,所以服務(wù)器端返回的流均是按照xml語言規(guī)范寫入,客戶端也按照Xml語言規(guī)范讀出數(shù)據(jù)。charset=UTF8)。 UpdateDaoRoutes dao = new UpdateDaoRoutesImpl()。 (?xml version=39。 encoding=39。?)。 for(int i=0。i++){ Routes route = (Routes)(i)。 (RouteName)。 (/RouteName)。 (())。 (/routes)。 ()。第六章 客戶端詳細(xì)設(shè)計 簡述在互聯(lián)網(wǎng)迅速發(fā)展的形式下,我們不得不考慮,是否還真的有必要將公交線路查詢軟件緊緊局限于PC機(jī)上,每次查詢都要找個PC機(jī)然后再記錄下來,那樣雖然達(dá)到了查詢的目的,但是這種方式是否就能夠滿足用戶的需求了,那如果在沒有PC機(jī)的環(huán)境呢,或者說總不能隨身帶個PC機(jī)或者筆記本電腦出門,只為了查詢公交線路,很明顯這種方法意義不大。其實(shí)隨著硬件設(shè)備的逐漸發(fā)展,不少的高端手機(jī)甚至可以沖當(dāng)一臺計算機(jī)使用,如今沒電腦的人可能不在少數(shù),但是放眼望去,有幾個沒有手機(jī)呢。目前主流手機(jī)操作系統(tǒng)有Mac OS, Windows Mobile,Android,Symbian,分別由蘋果公司,微軟,谷歌,諾基亞推出,而本次設(shè)計是在Android平臺下進(jìn)行開發(fā)。 環(huán)境搭建請參考文獻(xiàn)[3]。Android一詞的本義指“機(jī)器人”,2003年美國有一家以Android為名的小公司成立,開發(fā)手機(jī)平臺。2008年9月22日,美國運(yùn)營商TMobile USA在紐約正式發(fā)布第一款Google手機(jī)——TMobile G1。 Android系統(tǒng)架構(gòu)簡介從軟件分層的角度來看,Android平臺由應(yīng)用程序,應(yīng)用程序框架,Android運(yùn)行時,庫以及Linux內(nèi)核共5部分構(gòu)成。 應(yīng)用層 應(yīng)用程序框架(APPLICATION FRAMEWORK)應(yīng)用程序框架是我們進(jìn)行Android開發(fā)的基礎(chǔ)應(yīng)用程序框架層包含了視圖系統(tǒng),內(nèi)容提供器,窗口管理器,活動管理器,通知管理器,位置管理器,資源管理器,電話管理器和包管理器9大部分。 核心庫,虛擬機(jī) 系統(tǒng)庫(LIBRARIES)應(yīng)用程序框架是貼近于應(yīng)用程序的軟件組件服務(wù),而更底層則是Android的函數(shù)庫,這一部分是應(yīng)用程序框架的支撐。它包括了顯示驅(qū)動、攝像頭驅(qū)動、Flash內(nèi)存驅(qū)動、Binder(IPC)驅(qū)動、鍵盤驅(qū)動、wifi驅(qū)動、Audio驅(qū)動以及電源管理部分。對于手機(jī)的開發(fā)商而言,如果想要Android平臺運(yùn)行到自己的硬件平臺上就必須通過對Linux層進(jìn)行修改,通常要做的工作就是為自己的硬件便攜驅(qū)動程序。 創(chuàng)建數(shù)據(jù)庫在Android平臺上,不能像Mysql一樣通過啟動mysqld來進(jìn)入數(shù)據(jù)庫進(jìn)行操作,Android平臺上的數(shù)據(jù)庫操作只有通過執(zhí)行Java代碼,將有效的SQL語句傳入后臺,來進(jìn)行有效操作。數(shù)據(jù)庫創(chuàng)建代碼如下:public SQLiteDatabase DatabaseonCreate() { SQLiteDatabase db = null。 } catch (Exception e) { ()。 } 客戶端數(shù)據(jù)庫操作DBHelper類,是數(shù)據(jù)庫操作類,onCreate()方法是創(chuàng)建表,onUpgrade()方法是刪除所有表,onRoutesInsert()、onDepartureTimeInsert()、onFareInsert()、onStationsInsert()分別是對表routes、departuretime、fare、stations進(jìn)行插入數(shù)據(jù)操作,DBHelper類及方法用于數(shù)據(jù)同步更新。import 。import 。import 。import 。import 。public class DBHelper extends SQLiteOpenHelper{ private static final String DATABASE_NAME=。 public static final String TABLE_Routes= routes。 public static final String TABLE_Fare = fare。 public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION)。 ()。 ()。)。)。)。)。 } public void onRoutesInsert(ContentValues values,SQLiteDatabase db){ (TABLE_Routes, null, values)。 } public void onFareInsert(ContentValues values,SQLiteDatabase db){ (TABLE_Fare, null, values)。 }}Table 類是將所有要執(zhí)行創(chuàng)建過程的語句歸到該類。public class Table { public static final String ARASHMEN_TABLE_RPOUTES= routes。 public static final String ARASHMEN_TABLE_FARE = fare。public s
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1