【《基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例》5400字】_第1頁(yè)
【《基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例》5400字】_第2頁(yè)
【《基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例》5400字】_第3頁(yè)
【《基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例》5400字】_第4頁(yè)
【《基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例》5400字】_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例目錄TOC\o"1-3"\h\u7876基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)的總體設(shè)計(jì)案例 1130791.1系統(tǒng)總體結(jié)構(gòu)概述 150161.2系統(tǒng)網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì) 350821.3系統(tǒng)層次架構(gòu)設(shè)計(jì) 3325631.4系統(tǒng)部署設(shè)計(jì) 4175321.5數(shù)據(jù)庫(kù)設(shè)計(jì) 6152561.5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì) 6108901.5.2數(shù)據(jù)庫(kù)表設(shè)計(jì) 795541.6語(yǔ)音交互任務(wù)控制邏輯的設(shè)計(jì) 8206901.7系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)選型 9252701.7.1Android平臺(tái) 9307351.7.2自然語(yǔ)言處理 11語(yǔ)音技術(shù)應(yīng)用到車(chē)載導(dǎo)航行業(yè)中,充分考慮了車(chē)載導(dǎo)航系統(tǒng)應(yīng)用領(lǐng)域的語(yǔ)音需求,可以使車(chē)載導(dǎo)航系統(tǒng)實(shí)現(xiàn)更安全、更人性化的操作。在不久的將來(lái),筆者相信語(yǔ)音系統(tǒng)會(huì)在車(chē)載導(dǎo)航系統(tǒng)中發(fā)揮大作用,為設(shè)備操作、互動(dòng)娛樂(lè)和命令獲取上切實(shí)服務(wù),成為車(chē)載設(shè)備的當(dāng)家控制終端。1.1系統(tǒng)總體結(jié)構(gòu)概述以語(yǔ)音識(shí)別為基礎(chǔ)的車(chē)載導(dǎo)航系統(tǒng)中有六大功能模塊,分別為系統(tǒng)登錄模塊、語(yǔ)音交互模塊、路徑導(dǎo)航模塊、信息查詢(xún)模塊、音樂(lè)播放模塊以及系統(tǒng)設(shè)置模塊。這六個(gè)模塊共同構(gòu)成了車(chē)載語(yǔ)音系統(tǒng),對(duì)整個(gè)系統(tǒng)的功能進(jìn)行了優(yōu)化完善。系統(tǒng)的整體功能結(jié)構(gòu)圖如圖12所示。圖12系統(tǒng)功能結(jié)構(gòu)圖首先就是系統(tǒng)登錄管理模塊,駕駛員要想進(jìn)入車(chē)載導(dǎo)航系統(tǒng)就必須登錄,登錄方式目前只有兩種,一種是使用密碼+手機(jī)號(hào),另一種是車(chē)主端掃碼登錄。第二也是整個(gè)系統(tǒng)中最重要的模塊,就是語(yǔ)音交互模塊。在不以音響觸摸屏、手勢(shì)和手機(jī)客戶端為輔助的情況下,駕駛員就可以控制音響。語(yǔ)音交互模塊包括語(yǔ)音識(shí)別和自然語(yǔ)言處理量大功能。語(yǔ)音識(shí)別先將用戶所說(shuō)的語(yǔ)音轉(zhuǎn)換為文字,將結(jié)果傳遞給自然語(yǔ)言處理功能,隨后再由自然語(yǔ)言處理來(lái)分析用戶意圖,進(jìn)一步轉(zhuǎn)發(fā)給后續(xù)服務(wù),執(zhí)行相應(yīng)操作,完成業(yè)務(wù)處理[30]。第三也是系統(tǒng)中的核心功能,就是路徑導(dǎo)航管理模塊。駕駛員可以通過(guò)綜合運(yùn)用導(dǎo)航語(yǔ)音指令和喚醒詞,就像周邊環(huán)境搜索完全可以利用語(yǔ)音做到。在路徑導(dǎo)航管理模塊中,駕駛員同樣可以憑借語(yǔ)音指令對(duì)搜索周邊、地圖縮放、查找目的地和查看實(shí)時(shí)路況等功能操作,無(wú)需和司機(jī)交流互動(dòng)從而對(duì)司機(jī)的駕駛造成影響。隨后還有信息查詢(xún)管理模塊,在駕駛員要查詢(xún)路況或天氣時(shí),駕駛員發(fā)出需求指令后由系統(tǒng)接收識(shí)別并做出操作。針對(duì)駕駛員無(wú)聊而展開(kāi)的聊天互動(dòng),系統(tǒng)收到駕駛員指令后認(rèn)為這一指令屬于閑聊領(lǐng)域,從而會(huì)調(diào)用個(gè)性化回復(fù)的方式對(duì)用戶請(qǐng)求做出反饋,使用戶充分感受到車(chē)載導(dǎo)航系統(tǒng)的人性化特點(diǎn)。再次就是音樂(lè)播放模塊了,對(duì)于車(chē)載導(dǎo)航系統(tǒng)來(lái)說(shuō)屬于錦上添花的非核心功能,包括多個(gè)子模塊,如歌曲管理模塊、音樂(lè)收藏模塊、音樂(lè)服務(wù)管理模塊以及音樂(lè)播放管理模塊等,利用這些模塊可以實(shí)現(xiàn)音響的基本功能。在駕駛員沒(méi)有開(kāi)啟導(dǎo)航功能的時(shí)候,音樂(lè)播放的功能可以促進(jìn)用戶停留時(shí)間,強(qiáng)化用戶對(duì)系統(tǒng)的使用,優(yōu)化用戶體驗(yàn)[31]。最后,系統(tǒng)設(shè)置管理模塊在整個(gè)系統(tǒng)中算是配置模塊,其中有設(shè)置鬧鐘、選擇WiFi、檢測(cè)升級(jí)、切換語(yǔ)言、清空數(shù)據(jù)、切換區(qū)域、切換屏保等功能。1.2系統(tǒng)網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)根據(jù)基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)運(yùn)行要求,得出基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D如下圖13所示。圖13系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D由圖13系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D所示,客戶端可通過(guò)WiFi以及5G網(wǎng)絡(luò)兩種方式,調(diào)用云端服務(wù)器接口進(jìn)行數(shù)據(jù)交互??蓪⒈镜?cái)?shù)據(jù)上傳至云端數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),亦可從云端數(shù)據(jù)庫(kù)服務(wù)器獲取、下載相關(guān)數(shù)據(jù),同時(shí)可連接GPS定位系統(tǒng)獲取到地圖相關(guān)信息。云端服務(wù)器使用Kubernetes(k8s)集群作為應(yīng)用集群。K8s具有自帶高可用、負(fù)載均衡、彈性伸縮等特性,增強(qiáng)系統(tǒng)的穩(wěn)定性和可維護(hù)性。1.3系統(tǒng)層次架構(gòu)設(shè)計(jì)基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)架構(gòu)圖如下圖14所示。圖14系統(tǒng)的系統(tǒng)架構(gòu)圖由圖14系統(tǒng)架構(gòu)圖所示,參考當(dāng)前業(yè)內(nèi)主流的系統(tǒng)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn)分析,最終決定采用三層架構(gòu)設(shè)計(jì)模式來(lái)完成基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)整體架構(gòu)設(shè)計(jì)工作,三層架構(gòu)由表示層、業(yè)務(wù)邏輯層以及數(shù)據(jù)訪問(wèn)層組成,其中表示層主要是為系統(tǒng)使用者提供基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)功能操作服務(wù),讓用戶在表示層上操作功能按鈕,完成用戶功能請(qǐng)求的發(fā)送操作。業(yè)務(wù)邏輯層主要是為基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)提供功能業(yè)務(wù)邏輯處理操作。數(shù)據(jù)訪問(wèn)層主要實(shí)現(xiàn)與數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互,執(zhí)行業(yè)務(wù)邏輯層發(fā)送的功能請(qǐng)求,然后將處理結(jié)果返回業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層根據(jù)預(yù)設(shè)邏輯將結(jié)果返回給表示層供用戶查看[32-35]。1.4系統(tǒng)部署設(shè)計(jì)本系統(tǒng)的部署圖由圖15所示。安卓客戶端向服務(wù)端發(fā)送請(qǐng)求,消息通過(guò)防火墻交予負(fù)載均衡服務(wù)器或k8s的Ingress模塊進(jìn)行轉(zhuǎn)發(fā),至k8s服務(wù)器進(jìn)行處理,同時(shí)亦可對(duì)文件服務(wù)器進(jìn)行訪問(wèn);當(dāng)有請(qǐng)求需要查詢(xún)數(shù)據(jù)時(shí),可先從緩存服務(wù)器查詢(xún),提高查詢(xún)效率,最后就是對(duì)數(shù)據(jù)庫(kù)服務(wù)器的訪問(wèn)。其中系統(tǒng)服務(wù)采用容器化方式部署,以k8s來(lái)編排容器組??蛻舳松蟼鞯囊纛l流數(shù)據(jù),以TCP協(xié)議,通過(guò)Nginx的TCP轉(zhuǎn)發(fā),到達(dá)k8s集群中的ASR服務(wù);來(lái)自客戶端的登錄、設(shè)置等業(yè)務(wù)的請(qǐng)求,以HTTP協(xié)議,通過(guò)k8s的Ingress模塊直接到達(dá)相應(yīng)服務(wù)。圖15系統(tǒng)的部署圖如果有主機(jī)發(fā)生異常,k8s可以自動(dòng)將運(yùn)行在這上面的容器組驅(qū)趕至正常主機(jī)上,或者由k8s控制器直接在正常主機(jī)上重啟相應(yīng)的容器組,以此維持高可用。由于k8s集群自身的特性,應(yīng)用集群可以滿足高可用、自帶負(fù)載均衡、方便彈性擴(kuò)容等優(yōu)點(diǎn),極大增強(qiáng)了本系統(tǒng)的穩(wěn)定性和可維護(hù)性。1.5數(shù)據(jù)庫(kù)設(shè)計(jì)1.5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)通過(guò)分析車(chē)載導(dǎo)航系統(tǒng)需求,得出基于語(yǔ)音識(shí)別的車(chē)載導(dǎo)航系統(tǒng)E-R圖如圖16所示。本系統(tǒng)中由于各個(gè)實(shí)體的屬性過(guò)多,所以沒(méi)全部在E-R圖中表示出來(lái)。圖16系統(tǒng)的E-R圖首先是汽車(chē)實(shí)體屬性,汽車(chē)實(shí)體描述就是闡述車(chē)載導(dǎo)航系統(tǒng)中現(xiàn)有的車(chē)輛基本信息。其次是收藏實(shí)體屬性,說(shuō)明用戶收藏的專(zhuān)輯、歌曲等相關(guān)收藏信息即收藏實(shí)體描述。再次是語(yǔ)音實(shí)體描述,介紹駕駛員利用麥克風(fēng)對(duì)語(yǔ)音輸入時(shí)其中語(yǔ)音的基本信息,當(dāng)然這類(lèi)信息必須是車(chē)載導(dǎo)航系統(tǒng)做出語(yǔ)音指令的重要內(nèi)容。第四是行程實(shí)體描述,主要應(yīng)用于行程中錄音模塊,是對(duì)系統(tǒng)中司機(jī)進(jìn)行駕駛的時(shí)信息的描述。它保存了行程的全部信息。最后是歌曲實(shí)體屬性,行程實(shí)體描述,指闡述系統(tǒng)中駕駛員借助語(yǔ)音所對(duì)歌曲信息做出的調(diào)用。其中,涉及到類(lèi)型、語(yǔ)種、風(fēng)格等一系列內(nèi)容。歌曲的所有信息都被涵蓋其中。1.5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)依據(jù)上文所描述的實(shí)體與實(shí)體之間的關(guān)系,繼續(xù)分析數(shù)據(jù)庫(kù)設(shè)計(jì)方案。根據(jù)與核心業(yè)務(wù)的關(guān)聯(lián)性,對(duì)以下幾個(gè)表著重展開(kāi)論述:駕駛員信息表、汽車(chē)信息表、語(yǔ)音信息表、行程信息表。首先是駕駛員信息表,此表負(fù)責(zé)存儲(chǔ)駕駛員的個(gè)人信息,包含信息為手機(jī)號(hào)碼、昵稱(chēng)、性別、家庭住址、公司地址、車(chē)牌號(hào)、身份證號(hào)。在此表中,有且僅有一個(gè)手機(jī)號(hào)碼,該手機(jī)號(hào)碼必須為駕駛員登錄時(shí)用于驗(yàn)證的號(hào)碼,手機(jī)號(hào)碼即為主鍵。外鍵為車(chē)牌號(hào),把這兩個(gè)按鍵和汽車(chē)信息表的車(chē)牌號(hào)對(duì)接。對(duì)于駕駛員信息表中的公司地址和昵稱(chēng),駕駛員可以選擇不填。其次是汽車(chē)信息表。在首次打開(kāi)登記會(huì)用到的汽車(chē)基本信息時(shí),汽車(chē)信息表會(huì)把這些信息自動(dòng)存儲(chǔ)下來(lái)。其中包含信息為車(chē)牌號(hào)、品牌、車(chē)系、汽油類(lèi)型、發(fā)動(dòng)機(jī)號(hào)碼、汽車(chē)識(shí)別代號(hào)。車(chē)牌號(hào)為此表的主鍵。對(duì)于汽車(chē)信息表中的汽油類(lèi)型,用戶可以選擇不填。第三是語(yǔ)音信息表。駕駛員所輸入的語(yǔ)音及與語(yǔ)音相關(guān)的信息全部存儲(chǔ)在該中,字段主要有語(yǔ)音時(shí)長(zhǎng)、輸入時(shí)間、語(yǔ)音大小、識(shí)別輸出文本、語(yǔ)義領(lǐng)域、意圖。在語(yǔ)音交互模塊中,這個(gè)表至關(guān)重要。以便后續(xù)對(duì)駕駛員輸入是否成功進(jìn)行核查。隨后是行程信息表,存儲(chǔ)了客戶行程的信息。這些信息為乘客信息、司機(jī)信息、行程路線、行程起點(diǎn)、形成終點(diǎn)、行程開(kāi)始時(shí)間、行程結(jié)束時(shí)間、行程中錄音。收藏信息表主要用于對(duì)駕駛員收藏的專(zhuān)輯、歌曲存儲(chǔ),信息收藏等方面;歌曲名在該表中為主鍵,與駕駛員收藏的名稱(chēng)呼應(yīng),對(duì)收藏的其他信息進(jìn)行周祥登記。媒體元數(shù)據(jù)表中留存媒體信息的備份,涵蓋類(lèi)型、專(zhuān)輯、常見(jiàn)的標(biāo)題、流派、時(shí)長(zhǎng)、創(chuàng)建時(shí)間、歌手等信息。歌曲信息的內(nèi)容主要包含了歌曲名稱(chēng),歌詞,歌手等信息。媒體文件的元數(shù)據(jù)內(nèi)容在媒體元數(shù)據(jù)表中留存?zhèn)浞荩黄渲?,涵蓋類(lèi)型、專(zhuān)輯、常見(jiàn)的標(biāo)題、流派、時(shí)長(zhǎng)、創(chuàng)建時(shí)間、歌手等信息。音樂(lè)播放列表,即音響客戶端內(nèi)部會(huì)一直呈現(xiàn)的正在播放的音樂(lè)列表;在駕駛員對(duì)一首歌曲選擇時(shí),服務(wù)器請(qǐng)求會(huì)自動(dòng)把該歌曲之上的10首歌曲添加到播放列表表中。而至于服務(wù)信息表,播放在客戶端中的音樂(lè)歌曲并不是出自同一服務(wù),蜻蜓FM、百度音樂(lè)等軟件均為默認(rèn)服務(wù);倘若駕駛員想要把網(wǎng)易云音樂(lè)、QQ音樂(lè)等服務(wù)添設(shè)進(jìn)去,則需要以手機(jī)客戶端為輔助;最終,服務(wù)信息表會(huì)對(duì)操作結(jié)果自動(dòng)保存,每個(gè)服務(wù)都具有一個(gè)獨(dú)一無(wú)二的代碼標(biāo)識(shí);在駕駛員把服務(wù)刪除后,服務(wù)表中對(duì)應(yīng)的該服務(wù)也會(huì)自動(dòng)消失。還有鬧鐘信息表,就是音響客戶端自帶的鬧鐘功能;對(duì)于鬧鐘設(shè)置,駕駛員可以對(duì)其重復(fù)時(shí)間、重復(fù)模式和音量等內(nèi)容自主定義;一般來(lái)說(shuō),在駕駛員沒(méi)有特意設(shè)置的情況下,軟件中內(nèi)置的音頻文件會(huì)被鬧鐘定為默認(rèn)音樂(lè);駕駛員設(shè)置則可以自主選擇服務(wù)器下載列備中的心儀音樂(lè)。1.6語(yǔ)音交互任務(wù)控制邏輯的設(shè)計(jì)倘若其他音頻介入語(yǔ)音播報(bào)或語(yǔ)音識(shí)別工作中,則會(huì)對(duì)其造成影響。就語(yǔ)音交互方式,本文提出了音頻任務(wù)控制模塊。在音頻任務(wù)控制模塊的輔助下,車(chē)載語(yǔ)音交互系統(tǒng)能夠?qū)σ纛l任務(wù)實(shí)時(shí)監(jiān)控。在音頻任務(wù)出現(xiàn)波動(dòng)時(shí),車(chē)載語(yǔ)音交互系統(tǒng)會(huì)在第一時(shí)間得知。在有新的音頻任務(wù)發(fā)出申請(qǐng)時(shí),控制模塊會(huì)自動(dòng)對(duì)音頻任務(wù)的優(yōu)先級(jí)進(jìn)行識(shí)別。以此為依據(jù),決定對(duì)其申請(qǐng)是否受理,例如,對(duì)錄音機(jī)、收音機(jī)手動(dòng)播放;通過(guò)對(duì)語(yǔ)音交互鍵按下來(lái)喚醒語(yǔ)音交互服務(wù)[36]。在語(yǔ)音交互系統(tǒng)中,新舊音頻任務(wù)的交替規(guī)則如表1所示。只要車(chē)載智能設(shè)備設(shè)有語(yǔ)音交互功能,那么其音頻在輸出或輸入功能上可以分為如下任務(wù):表1新舊音頻任務(wù)的交替規(guī)則新舊任務(wù)Phone(新)Command(新)Navi(新)Media(新)Phone(舊)新Phone不響應(yīng)不響應(yīng)語(yǔ)音交互服務(wù)不響應(yīng)Navi語(yǔ)音播報(bào)Media延后執(zhí)行Command(舊)取消當(dāng)前語(yǔ)音交互,執(zhí)行Phone功能取消當(dāng)前語(yǔ)音交互服務(wù)不響應(yīng)Nav語(yǔ)音播報(bào)Media延后執(zhí)行Navi(舊)中止Nav語(yǔ)音播報(bào)中止Navi語(yǔ)音播報(bào)Navi播報(bào)新語(yǔ)音提示Media靜音播放,Nai繼續(xù)播報(bào)表1(續(xù)表)新舊音頻任務(wù)的交替規(guī)則新舊任務(wù)Phone(新)Command(新)Navi(新)Media(新)Media(舊)Media延后執(zhí)行Media延后執(zhí)行Media靜音播放,Navi開(kāi)始播報(bào)執(zhí)行新的Media任務(wù)Phone,車(chē)載設(shè)備中必備SIM卡中基礎(chǔ)的通話功能的電話應(yīng)用或者與車(chē)載設(shè)備所連接的藍(lán)牙電話,以其音頻接口為媒介,電話應(yīng)用完成輸出和輸入操作,電話享受最高優(yōu)先級(jí)。Command,語(yǔ)音交互服務(wù),也就是語(yǔ)音播報(bào)提示,語(yǔ)音交互開(kāi)啟。同時(shí),識(shí)別輸入進(jìn)去的語(yǔ)音,把輸入結(jié)果通過(guò)語(yǔ)音的形式反饋給駕駛員。Navi,即導(dǎo)航軟件在工作過(guò)程中,出現(xiàn)的語(yǔ)音輸出功能。就像語(yǔ)音播報(bào)路況就是一個(gè)代表。Media,在Media應(yīng)用中設(shè)置的語(yǔ)音播報(bào)或者多媒體音頻輸出,其中有收音機(jī)、播放音樂(lè)、語(yǔ)音播報(bào)下一曲歌曲等內(nèi)容。在分類(lèi)上,以音頻任務(wù)的迫切程度和所占比重為依據(jù),對(duì)其優(yōu)先級(jí)順序設(shè)定,依次排列為最后活躍的Media任務(wù)、Navi播報(bào)、Command和投入工作的Phone。1.7系統(tǒng)開(kāi)發(fā)相關(guān)技術(shù)選型1.7.1Android平臺(tái)在Android中,SQLite數(shù)據(jù)庫(kù)引擎以嵌入式形式存在,它最大的表征就是結(jié)構(gòu)化。這一引擎是專(zhuān)門(mén)用于存儲(chǔ)數(shù)據(jù)的。SQLite數(shù)據(jù)庫(kù)引擎有內(nèi)核、SQL編譯器、附件、后端等構(gòu)件[37-38]。SQL編譯器由語(yǔ)法分析器、代碼產(chǎn)生器和詞法分析器等組件整合而成。SQL編譯器的作用是處理不同形式文本中結(jié)構(gòu)化特點(diǎn)顯著的查詢(xún)語(yǔ)句。B-tree組件的作用是排序處理,對(duì)數(shù)據(jù)庫(kù)之間存在的復(fù)雜關(guān)系進(jìn)行維護(hù)管理,經(jīng)過(guò)B-tree組件處理的頁(yè)面會(huì)呈現(xiàn)出樹(shù)狀結(jié)構(gòu)。Pager組件的作用是進(jìn)行傳輸,按照B-tree組件提出的相關(guān)請(qǐng)求,在磁盤(pán)直接讀取頁(yè)面,或?qū)㈨?yè)面寫(xiě)入磁盤(pán)。內(nèi)核的組成部分包括VirtualMachine、SQLCommandProcessor以及Interface,其中SQLCompiler和SQLCommandProcessor需要共同解析SQL語(yǔ)句。附件由兩部分組成,一部分是Utilities,另一部分是TestCode,公共服務(wù)中提供了字符串、Unicode轉(zhuǎn)換、內(nèi)存分配等比較不同的實(shí)用性功能[39]。Android中使用SQLiteDatabase來(lái)表示數(shù)據(jù)庫(kù)對(duì)象,SQLiteDatabase內(nèi)容如表2所示。表2SQLite常用方法方法內(nèi)容方法名稱(chēng)打開(kāi)或者創(chuàng)建數(shù)據(jù)庫(kù)openOrCreateDatabase添加一條記錄insert刪除一條記錄delete查詢(xún)記錄query修改記錄update執(zhí)行一條execSQLSQL語(yǔ)句closeSQLiteOpenHelper是用于輔助整個(gè)數(shù)據(jù)庫(kù)的類(lèi),其中方法如表3所示。表3SQLiteOpenHelper常用方法方法內(nèi)容方法名稱(chēng)構(gòu)造方法,一般是傳遞一個(gè)要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名稱(chēng)name參數(shù)SQLiteOpenHelper(Contextcontext,Stringname,SQLiteDatabase.CursorFactoryfactory,intversion)創(chuàng)建數(shù)據(jù)庫(kù)時(shí)調(diào)用onCreate版本更新時(shí)調(diào)用onUpgrade建立只讀數(shù)據(jù)庫(kù)getReadableDatabase()建立讀寫(xiě)數(shù)據(jù)庫(kù)getWritableDatabase()關(guān)于Handler,圖17展現(xiàn)的為Android消息處理機(jī)制原理。在Android系統(tǒng)正常運(yùn)作時(shí),會(huì)單獨(dú)打造一個(gè)Looper對(duì)象給MainThread。同時(shí),會(huì)連帶一個(gè)與之相契合的MessageQueue。MainThread可獨(dú)立完成一個(gè)或一個(gè)以上的WorkerThread創(chuàng)建。只要WorkerThread準(zhǔn)備對(duì)UI更新,就可以以MainThread為媒介向

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論