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

正文內(nèi)容

基于android平臺(tái)的車輛信息查詢系統(tǒng)的開發(fā)畢業(yè)論文-資料下載頁(yè)

2025-06-28 00:54本頁(yè)面
  

【正文】 如車主電話。首先,用戶啟動(dòng)系統(tǒng),類“車輛信息庫(kù)”啟動(dòng),并向類“數(shù)據(jù)庫(kù)適配器”請(qǐng)求獲得車輛信息列表數(shù)據(jù)。數(shù)據(jù)獲得后,將其顯示在用戶界面中,等待用戶的操作。用戶通過(guò)觸摸某一列表項(xiàng),向類“車輛信息庫(kù)”發(fā)送“查看車輛”的消息;類“車輛信息庫(kù)”將該消息連同該列表項(xiàng)所對(duì)應(yīng)的車輛ID發(fā)送至類“車輛查看頁(yè)”;類“車輛查看頁(yè)”向類“數(shù)據(jù)庫(kù)適配器”請(qǐng)求指定車輛的數(shù)據(jù),獲得后將其顯示在用戶界面并等待用戶的操作。繼而,用戶通過(guò)選擇“編輯”菜單,向類“車輛查看頁(yè)”發(fā)送“編輯”消息;類“車輛查看頁(yè)”將該消息連同車輛ID發(fā)送給類”車輛信息編輯頁(yè)”。類”車輛信息編輯頁(yè)”同樣地向類“數(shù)據(jù)庫(kù)適配器”請(qǐng)求指定的車輛數(shù)據(jù),獲得后將其顯示在用戶界面上并接受用戶的編輯。最后,用戶退出或選擇“保存”菜單時(shí),類”車輛信息編輯頁(yè)”將用戶界面中的最新車輛信息發(fā)送給類“數(shù)據(jù)庫(kù)適配器”,請(qǐng)求更新數(shù)據(jù),然后將車輛ID發(fā)送給類“車輛查看頁(yè)”,最終呈現(xiàn)在用戶面前的是用戶最可能希望看到的內(nèi)容——編輯過(guò)后的最新車輛信息。仔細(xì)分析,可以發(fā)現(xiàn),交互圖中的消息,與用戶界面中的菜單(在Android中有上下文菜單和選項(xiàng)菜單兩種)或可點(diǎn)擊視圖(如列表項(xiàng)、按鈕)等UI控件有良好的對(duì)應(yīng)關(guān)系;用戶在一個(gè)類的上下文中(或在一個(gè)用戶界面下),對(duì)UI控件的操作,即向該類的實(shí)例(對(duì)象)發(fā)送消息;監(jiān)聽用戶動(dòng)作的該對(duì)象獲得這一消息,通過(guò)自身的動(dòng)作(如改變用戶界面的顏色)、調(diào)用其他對(duì)象并獲取返回值(如向數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象請(qǐng)求最新數(shù)據(jù)并顯示在用戶界面)或轉(zhuǎn)到其他類(不再返回)等形式執(zhí)行用戶的命令。這正是信息系統(tǒng)的運(yùn)行方式。上述順序圖僅僅展示了一個(gè)用例中類與類之間的交互。由上面的分析知,交互中的消息,實(shí)際上是用戶界面中菜單、按鈕等的抽象。我們將以一幅相對(duì)完整的交互圖,來(lái)直觀地展示各個(gè)UI類(或功能模塊,在Android中為Activity的子類)之間的關(guān)系。UI類的交互圖如圖20。圖20 UI類的交互圖如圖20中所示,我們將類“車輛信息庫(kù)”定為本車輛查詢程序的主入口,由其顯示所有車輛信息的列表;通過(guò)它,可以快速轉(zhuǎn)到其他功能模塊。箭頭上的文字為類與類之間的消息,由用戶操作引發(fā),由當(dāng)前UI類解釋并發(fā)送,由接受消息的類解釋并執(zhí)行。該類更加深入地描述了上一節(jié)中的用例模型。 非功能需求結(jié)合Android手機(jī)的特性和使用場(chǎng)景,對(duì)系統(tǒng)提出如下非功能需求:1) 可用性a) 速度快:車牌識(shí)別時(shí)間不超過(guò)1s;在有1000條左右數(shù)據(jù)項(xiàng)的情況下,b) 準(zhǔn)確性:在車輛前方5m處拍攝車輛整車照片,車牌識(shí)別準(zhǔn)確率達(dá)50%以上2) 易用性a) 業(yè)務(wù)流程簡(jiǎn)單,無(wú)學(xué)習(xí)成本b) 搖一搖,即可快速進(jìn)入車輛登記模式c) 重要功能一鍵可達(dá)d) 即編即達(dá),保證用戶編輯的數(shù)據(jù)不致意外丟失;提供重置編輯、撤消編輯等功能3) 安全性a) 所有車輛照片存儲(chǔ)在SD卡特定的目錄下(可設(shè)置隱藏),用戶不致錯(cuò)誤刪除,并可定期備份b) 數(shù)據(jù)庫(kù)定期在SD卡備份c) 可與同步服務(wù)器同步數(shù)據(jù)4) 健壯性a) 妥善處理SD卡不可用、文件不存在等異常5) 可移植性a) 適應(yīng)99%的Android設(shè)備,適應(yīng)各種分辨率b) 可支持多種地區(qū)/語(yǔ)言c) 安裝方便,無(wú)需另行下載相關(guān)依賴數(shù)據(jù)6) 可維護(hù)性a) 日志記錄,便于跟蹤、診斷缺陷或失效原因 5 系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)與測(cè)試 系統(tǒng)的設(shè)計(jì)系統(tǒng)的設(shè)計(jì)包含總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),我們?cè)诖藘H討論總體設(shè)計(jì)??傮w設(shè)計(jì)中,將依據(jù)需求分析中獲取的交互圖發(fā)現(xiàn)與抽象類,并設(shè)計(jì)其屬性和方法,以實(shí)現(xiàn)程序邏輯。同時(shí)提取出實(shí)體及實(shí)體之間的關(guān)系,確定實(shí)體的屬性,以設(shè)計(jì)數(shù)據(jù)庫(kù)模式。 程序邏輯設(shè)計(jì)經(jīng)對(duì)需求分析中獲取的交互圖的分析,發(fā)現(xiàn)類“車輛信息庫(kù)”與類“車輛登記單”有幾乎完全相同的交互行為。從根源分析,二者的區(qū)別僅在于:1) 用戶界面的標(biāo)題和菜單文本略有不同;2) 列表項(xiàng)綁定的數(shù)據(jù)以及列表項(xiàng)的布局不同;3) 相應(yīng)地,對(duì)列表項(xiàng)的操作也略有不同。于是可以抽象出一個(gè)父類——“車輛列表”,負(fù)責(zé)類“車輛信息庫(kù)”與類“車輛登記單”相同的業(yè)務(wù)邏輯;類“車輛信息庫(kù)”與類“車輛登記單”繼承類“車輛列表”,重寫用戶界面的標(biāo)題和菜單文本等屬性,重寫列表綁定和列表項(xiàng)布局,重寫菜單即可。除此之外,為了實(shí)現(xiàn)前述“搖一搖”快速查詢/登記車輛信息的特性,還讓類“車輛列表”繼承于一個(gè)能夠接收并響應(yīng)手機(jī)加速感應(yīng)的列表類。用例“瀏覽車輛信息庫(kù)”和“瀏覽車輛登記單”,最后設(shè)計(jì)出的類圖如圖21。圖21 用例“瀏覽車輛信息庫(kù)”和“瀏覽車輛登記單”實(shí)際的類圖除這兩個(gè)用例具有巨大的相似性,發(fā)生了繼承關(guān)系之外,其他用例均以一個(gè)相對(duì)獨(dú)立的類、監(jiān)聽器、回調(diào)函數(shù)或方法實(shí)現(xiàn)。本系統(tǒng)中分析出來(lái)的主要的類如下:1) 車輛查看頁(yè)類VehicleItemViewActivity,負(fù)責(zé)從數(shù)據(jù)庫(kù)獲取指定ID或車牌號(hào)的車輛的信息及其登記記錄列表,顯示在用戶界面上,接收用戶對(duì)車輛信息和車輛登記記錄的菜單操作。2) 車輛信息編輯頁(yè)類VehicleInfoEditActivity,負(fù)責(zé)從數(shù)據(jù)庫(kù)獲取指定ID的車輛的信息,顯示在用戶界面上,接受用戶的編輯,妥善暫存、保存用戶的編輯。3) 車輛登記記錄編輯頁(yè)類VehicleQueryEditActivity,負(fù)責(zé)從數(shù)據(jù)庫(kù)獲取指定ID的車輛登記記錄,顯示在用戶界面上,接受用戶的,妥善暫存、保存用戶的編輯。4) 車輛照片異步緩沖與加載線程類ViqCachedImageFetcher,負(fù)責(zé)將指定路徑的圖像文件綁定到指定的圖像視圖中。為了加快有大量圖像綁定車輛信息庫(kù)和車輛登記單的顯示速度,并極大地減少內(nèi)存消耗,將使用新的線程執(zhí)行圖像綁定,并使用較小的圖像緩存而非原圖作為圖像視圖的圖像源。5) 數(shù)據(jù)庫(kù)適配器類ViqSQLiteOpenHelper,負(fù)責(zé)數(shù)據(jù)庫(kù)的創(chuàng)建、升級(jí)和本項(xiàng)目中各大UI類對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。 數(shù)據(jù)庫(kù)設(shè)計(jì)系統(tǒng)涉及兩個(gè)表:1)車輛信息庫(kù)(車牌號(hào),車型,車架號(hào),車主姓名,車主電話,車主性別,車主出生年月,車主駕照號(hào),車輛備案照片,備注)。其中車牌號(hào)為候選碼。因?yàn)檐囍餍畔⒉](méi)有其他的用例,并沒(méi)有為車主信息建立一個(gè)專用的表。2)車輛登記單(車牌號(hào),時(shí)間,地點(diǎn),車輛登記照片,備注)。其中(車牌號(hào),時(shí)間,地點(diǎn))為候選碼;車輛登記照片指登記時(shí)拍攝的照片。值得注意的是,車輛登記單的車牌號(hào)并不參照車輛信息庫(kù)的車牌號(hào),因?yàn)楦鶕?jù)業(yè)務(wù)需求,所登記車輛并不一定在車輛信息庫(kù)中存在;如果不存在,還可以隨時(shí)將該車信息加入車輛信息庫(kù)。表“車輛信息庫(kù)”中的所有信息,將與類“車輛信息庫(kù)”列表中的每一項(xiàng)完好對(duì)應(yīng)。然而,為了方便用戶在瀏覽車輛登記記錄時(shí)清楚地知道登記車輛的車主姓名及聯(lián)系電話等信息,類“車輛登記單”列表中的每一項(xiàng)中的數(shù)據(jù),除來(lái)自表“車輛信息庫(kù)”中的一行之外,來(lái)以車牌號(hào)為連接條件,關(guān)聯(lián)了表“車輛信息庫(kù)”中相應(yīng)車輛的車主姓名和聯(lián)系電話等信息。因此,我們需要?jiǎng)?chuàng)建一個(gè)視圖“車輛登記信息單”,將之與類“車輛登記單”綁定:車輛登記信息單(車牌號(hào),車主姓名,車主電話,時(shí)間,地點(diǎn),車輛登記照片,備注)。其中備注字段來(lái)自于車輛登記單。 系統(tǒng)實(shí)現(xiàn)為更加清楚地顯示項(xiàng)目的實(shí)現(xiàn)輪廓,首先給出項(xiàng)目的目錄結(jié)構(gòu),包括類的組成(src目錄)、引用的Jar包(lib目錄)和So共享庫(kù)(lib/armeabi目錄)、XML資源文件(res目錄)等。如圖22。圖22 項(xiàng)目目錄結(jié)構(gòu) 支撐條件 支撐平臺(tái)(1)開發(fā)平臺(tái)1) Eclipse IDE for Java Developers最新版本。本項(xiàng)目采用Indigo Service Release 2。2) Android ADT最新版本。3) Android SDK最新版本。4) Android NDK最新版本(非必須)。5) 真實(shí)Android設(shè)備(可使用模擬器替代),本項(xiàng)目采用小米手機(jī)MIONE PLUS。(2)運(yùn)行平臺(tái)1) 最小SDK版本:本系統(tǒng)最小SDK版本為API 10(Android )。這是目前為絕大多數(shù)手機(jī)所支持的版本。本項(xiàng)目面向Android設(shè)備開發(fā),為適應(yīng)各種Andrroid手機(jī),須遵循Android應(yīng)用設(shè)計(jì)與設(shè)備獨(dú)立的標(biāo)準(zhǔn),主要指標(biāo)如下:a) 用戶界面元素的大小和位置使用相對(duì)比例(使用android:weight等屬性)或分辨率獨(dú)立單位(dp、sp等單位),對(duì)Android手機(jī)的各種分辨率都有較好的支持。b) 用戶界面的文本,使用資源文件res/values/,可迅速增加新語(yǔ)言()。c) 為支持國(guó)際化合作開發(fā),項(xiàng)目源代碼中不存在任何全角字符,注釋全部采用英文。2) 硬件使用a) 相機(jī)(非必須),用于拍攝車輛照片,并識(shí)別出車牌號(hào)。可手工輸入車牌號(hào)。b) GPS(非必須),用于自動(dòng)獲取當(dāng)前地理坐標(biāo),車輛登記記錄中的數(shù)據(jù)項(xiàng)??墒止ぬ顚懟虿惶?。c) 硬件感應(yīng)(非必須),用于實(shí)現(xiàn)“搖一搖”快速登記車輛功能。可通過(guò)點(diǎn)擊按鈕或選擇菜單進(jìn)入登記車輛功能。d) 移動(dòng)網(wǎng)絡(luò)或WiFi(非必須),用于輔助GPS定位,將地理坐標(biāo)轉(zhuǎn)化為實(shí)際地點(diǎn)名,以及同步車輛數(shù)據(jù)。e) 通話與短信(非必須),用于快速撥打車主電話、發(fā)送車輛信息。3) 權(quán)限使用a) 寫SD卡(WRITE_EXTERNAL_STORAGE),用于保存車輛照片。b) 通話(CALL_PHONE)。c) 短信(SEND_SMS)。d) 振動(dòng)(VIBRATE),用于在識(shí)別出“搖一搖”動(dòng)作時(shí)給出振動(dòng)反饋。e) 互聯(lián)網(wǎng)(INTERNET)。f) 獲取非精確(ACCESS_COARSE_LOCATION)的地點(diǎn)和精確的地點(diǎn)(ACCESS_FINE_LOCATION)。 支撐代碼庫(kù)(1)tesseractandroidtools開源項(xiàng)目tesseractandroidtools中jin目錄下是圖像識(shí)別庫(kù)TesseractOCR和圖像處理庫(kù)Leptonica的C/C++本地代碼。通過(guò)Android NDK編譯二者。當(dāng)然,也可以從本項(xiàng)目在谷歌代碼上的代碼庫(kù)中取得,以免去重新編譯的麻煩。將這兩個(gè)共享庫(kù)復(fù)制到項(xiàng)目lib/armeabi目錄下。項(xiàng)目tesseractandroidtools使用JNI技術(shù)調(diào)用上述本地代碼。其他項(xiàng)目要調(diào)用上述本地代碼。建議將Jar包存放在lib目錄下。(2)javacv開源項(xiàng)目JavaCV的引用類似。項(xiàng)目JavaCV的編譯,對(duì)平臺(tái)的要求較多。JavaCV采用JavaCPP技術(shù)訪問(wèn)本地代碼。JavaCPP訪問(wèn)本地代碼的技術(shù)尚未集成在Android代碼棧中,因此須在每個(gè)使用它的項(xiàng)目中引用;。項(xiàng)目JavaCV為完整地支持各種圖像、視頻的處理,引用了許多共享庫(kù)。本項(xiàng)目中,,,。 支撐數(shù)據(jù)項(xiàng)目用到了圖像識(shí)別,前文詳細(xì)講述了專用于中華人民共和國(guó)機(jī)動(dòng)車號(hào)牌的語(yǔ)言包的訓(xùn)練方法。該語(yǔ)言包名為“”,大小為515KB,需要放在SD卡上,圖像識(shí)別時(shí)讀取。為了最大限度地降低用戶使用本系統(tǒng)的難度,本項(xiàng)目不使用普遍使用的從網(wǎng)絡(luò)下載SD卡上所需資源文件的方法,而是將它直接放置在項(xiàng)目assets目錄下。圖像識(shí)別過(guò)程中,如果檢測(cè)到SD卡上不存在該語(yǔ)言包,則自動(dòng)將其復(fù)制到SD卡特定目錄(本項(xiàng)目使用TesseractOCR語(yǔ)言包標(biāo)準(zhǔn)目錄/sdcard/tesseract/tessdata/)下。 類的實(shí)現(xiàn)編寫Android應(yīng)用,很大部分工作在于與用戶的交互,UI類占很大的比重。UI類,如Activity、Activity,以及用戶拓展了的UI類,主要的實(shí)現(xiàn)流程如下:1) 重寫Activity被創(chuàng)建時(shí)的回調(diào)函數(shù)onCreate(),做以下工作:a) 調(diào)用父類的onCreate()方法;b) 通過(guò)調(diào)用getIntent()獲得啟動(dòng)本Activity的Intent對(duì)象,獲得本應(yīng)用所需的參數(shù),如車輛ID、車牌號(hào)等;c) 設(shè)置內(nèi)容視圖(setContentView),指定描述用戶界面的資源文件;d) 獲得對(duì)資源文件中每個(gè)視圖元素(View)的引用,待后面對(duì)它們進(jìn)行操作;e) 設(shè)置按鈕等視圖元素的監(jiān)聽事件。2) 重寫Activity開始能與用戶交互時(shí)的回調(diào)函數(shù)onResume(),做以下工作:a) 從數(shù)據(jù)庫(kù)或文件重新讀入數(shù)據(jù),更新視圖元素的顯示。3) 重寫創(chuàng)建上下文菜單onCreateContextMenu()和用戶選擇上下文菜單onContextMenuSelected()時(shí)的回調(diào)函數(shù),設(shè)置上下文菜單及菜單被點(diǎn)擊時(shí)相應(yīng)的操作。4) 重寫Activity即將失去與用戶的交互能力(如成為其他UI元素的背景,或用戶啟動(dòng)別的應(yīng)用,或用戶按Home鍵;用戶可能永遠(yuǎn)也不再當(dāng)前Activity,因此須保存數(shù)據(jù))時(shí)的回調(diào)函數(shù)onPause(),保存用戶花時(shí)間創(chuàng)建的數(shù)據(jù)。5) 重寫Activity即將被銷毀時(shí)的onDestroy()回調(diào)函數(shù),關(guān)閉數(shù)據(jù)庫(kù)連接和程序啟動(dòng)時(shí)啟動(dòng)的服務(wù)。以類“VehicleItemViewActivity”為例,其代碼和輪廓視圖如圖23。圖23類“VehicleItemViewActivity”的實(shí)現(xiàn)其他類,包括Android提供的API和用戶自定義的類,遵循高內(nèi)聚、低耦合的原則以及其他一些規(guī)范即可。 數(shù)據(jù)庫(kù)模式在Android中,SQLite數(shù)據(jù)庫(kù)作為應(yīng)用程序永久保存數(shù)據(jù)的重要機(jī)制,得到了Android的強(qiáng)大支持。應(yīng)用程序訪問(wèn)SQLite數(shù)據(jù)庫(kù),無(wú)需事先配置好數(shù)據(jù)庫(kù),然后指定連接字符串訪問(wèn)(SQLite本身是零配置、零服務(wù)的);相反,應(yīng)用程序像進(jìn)行普通文件操作一樣,通過(guò)代碼創(chuàng)建數(shù)據(jù)庫(kù),更新數(shù)據(jù)庫(kù),升級(jí)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)設(shè)計(jì)一節(jié)中已經(jīng)描述了本應(yīng)用中數(shù)據(jù)庫(kù)的表和視圖的結(jié)構(gòu)。在對(duì)表的描述中,提到了“候選碼”而非“主碼”是因?yàn)?,我們將使用一個(gè)整型自增片段作為主碼,以與更加方便地與列表適配器(ListAdapter)相匹配(見“ROWID和整型主碼”一小節(jié)的描述),在一定程度上提升代碼編寫效率和程序運(yùn)行效率。數(shù)據(jù)庫(kù)的模式創(chuàng)建如下:CREATE TABLE Info(_id, licence, type, vin, name, phone, gender, birt
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1