![Android平臺中文輸入法的設(shè)計和實現(xiàn)論文_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/1/1627f1af-fe23-4d17-9a94-16800f7a9ee5/1627f1af-fe23-4d17-9a94-16800f7a9ee51.gif)
![Android平臺中文輸入法的設(shè)計和實現(xiàn)論文_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/1/1627f1af-fe23-4d17-9a94-16800f7a9ee5/1627f1af-fe23-4d17-9a94-16800f7a9ee52.gif)
![Android平臺中文輸入法的設(shè)計和實現(xiàn)論文_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/1/1627f1af-fe23-4d17-9a94-16800f7a9ee5/1627f1af-fe23-4d17-9a94-16800f7a9ee53.gif)
![Android平臺中文輸入法的設(shè)計和實現(xiàn)論文_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/1/1627f1af-fe23-4d17-9a94-16800f7a9ee5/1627f1af-fe23-4d17-9a94-16800f7a9ee54.gif)
![Android平臺中文輸入法的設(shè)計和實現(xiàn)論文_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/1/1627f1af-fe23-4d17-9a94-16800f7a9ee5/1627f1af-fe23-4d17-9a94-16800f7a9ee55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 . 碩 士 學(xué) 位 論 文Android平臺中文輸入法的設(shè)計和實現(xiàn)The Design and Implementation of Chinese Input Method on Android 專業(yè)名稱計算機(jī)技術(shù) 研究方向中文信息處理 大學(xué)學(xué)位論文獨創(chuàng)性聲明與使用授權(quán)聲明學(xué)位論文獨創(chuàng)性聲明本人重聲明:所提交的學(xué)位論文是本人在導(dǎo)師的指導(dǎo)下,獨立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的容外,本論文不含其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果,也不含為獲得大學(xué)或其它教育機(jī)構(gòu)的學(xué)位證書而使用過的材料。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人承擔(dān)本聲明的法律責(zé)任。研
2、究生簽名:日期:學(xué)位論文使用授權(quán)聲明大學(xué)、中國科學(xué)技術(shù)信息研究所、國家圖書館、清華大學(xué)論文合作部、中國社科院文獻(xiàn)信息情報中心有權(quán)保留本人所送交學(xué)位論文的復(fù)印件和電子文檔,可以采用影印、縮印或其他復(fù)制手段保存論文。本人電子文檔的容和紙質(zhì)論文的容相一致。除在期的論文外,允許論文被查閱和借閱,可以公布(包括刊登)論文的全部或部分容。論文的公布(包括刊登)授權(quán)大學(xué)學(xué)位辦辦理。研究生簽名:日期:導(dǎo)師簽名:日期:55 / 65Android平臺中文輸入法設(shè)計和實現(xiàn)中文摘要伴隨著手持通信設(shè)備的日益普與和短信、微博等應(yīng)用的廣泛使用,人們越來越多地依賴于這些設(shè)備進(jìn)行文字信息輸入和處理。如何快速準(zhǔn)確地利用手持式設(shè)
3、備輸入文字信息,特別是中文信息,對中國人而言有利于重要。首先,本文介紹了Andriod的主要組件和系統(tǒng)框架等容,并分析了當(dāng)今移動平臺上的主流漢字輸入法的優(yōu)缺點。其次,本文以縱橫輸入法為例介紹了在Android平臺下的碼本的設(shè)計和檢索技術(shù),包括字詞碼本結(jié)構(gòu)的設(shè)計、索引方式的設(shè)計、聯(lián)想功能的實現(xiàn)、碼本的存儲以與輸入法具體的檢索流程。最后,本文全面分析了Android系統(tǒng)平臺的輸入法框架,對該框架的組成、流程、生命周期以與一些所需實現(xiàn)的類和函數(shù)等進(jìn)行了詳細(xì)的闡述。在此基礎(chǔ)上,在Andriod平臺上設(shè)計并實現(xiàn)了縱橫輸入法,并介紹了其實現(xiàn)技術(shù)。對實例輸入系統(tǒng)的測試表明,該系統(tǒng)已達(dá)到了實用水平,并已經(jīng)有了
4、一定規(guī)模的用戶群。關(guān)鍵詞:輸入法、Android、碼本、輸入架構(gòu)作 者: 指導(dǎo)老師: The Design and Implementation of Chinese Input Method on Android AbstractWith the widespread use of mobile devices and increasing popularity of short message, microblogging and other mobile applications, the requirement of inputting and processing text info
5、rmation, especially the Chinese information for us, on mobile devices is recreasing rapidly. .Firstly, this desertation describes the main component and system framework of Andriod, and then analyzes the advantages and disadvantages of the popular Chinese input methodson all kinds of mobile platform
6、s.Secondly, it usesCKC input method as a sample to describe the design of the relation table between codes and their Chinese characters or phrases and the retrieval method on the Android platform, including the structure of the relation table, the indexing, the association functions, the storage of
7、the relation table, and specific retrieval processes of the input method.Finally, it analyzes the input method framework on the Android platform and gives a detailed exposition of the framework components, circuit, life cycle and some of the necessary achieved classes, functions, and so on. On this
8、basis, it designes and realizes the CKC input method on the Andriod platform, and introducesits implemention technology.Tests on the CKC input system on the Android platform show that our system has reached a very practical leveland italready has been used on some extent.Key Words: Chinese input met
9、hod; Android; code book; Input architecture Written by Sun XiaoSupervised by Li Peifeng目 錄中文摘要IAbstractII目錄I第一章緒論11.1課題背景與意義11.3 研究現(xiàn)狀21.3.1移動手機(jī)平臺發(fā)展現(xiàn)狀21.3.2手機(jī)輸入法發(fā)展現(xiàn)狀51.3 本文工作71)提出了一個適合Android平臺的輸入法碼本設(shè)計方案72)分析了Android輸入法框架,設(shè)計了一個基于Android平臺的輸入系統(tǒng)73)介紹了Android平臺輸入系統(tǒng)的實現(xiàn)技術(shù)81.3 論文組織8第二章相關(guān)工作基礎(chǔ)92.1 Android平臺9
10、2.1.1 Android平臺簡介92.1.2 Android 平臺框架102.1.3 Android 平臺開發(fā)環(huán)境搭建112.2 縱橫輸入法132.2.1 縱橫輸入法簡介132.2.2 縱橫輸入法優(yōu)點132.3 輸入法框架介紹142.3.1 輸入法框架簡介142.3.2 輸入法框架組成142.3.3 輸入法應(yīng)用組成152.3.4 輸入法消息流轉(zhuǎn)機(jī)制162.3.5 輸入法生命周期182.3.5 輸入法主要的類和函數(shù)192.4 本章小結(jié)20第三章碼本結(jié)構(gòu)設(shè)計213.1 碼本特點213.2 字碼本結(jié)構(gòu)213.3 詞碼本結(jié)構(gòu)223.4 聯(lián)想與碼本存儲243.5 檢索過程243.6 本章小結(jié)25第四章
11、 Android平臺下輸入法的設(shè)計與實現(xiàn)264.1 中文輸入法的設(shè)計264.1.1 邏輯處理設(shè)計264.1.2 鍵盤界面設(shè)計274.1.3 候選字詞界面設(shè)計294.1.4 消息流轉(zhuǎn)設(shè)計294.1.5 候選字詞查找設(shè)計304.2 中文輸入法的實現(xiàn)324.2.1 鍵盤布局的實現(xiàn)324.2.2 初始化輸入法334.2.3 消息捕獲與傳遞344.2.4 消息處理364.2.5 數(shù)據(jù)查找與反饋394.3 本章小結(jié)41第五章輸入法的安裝與使用425.1 輸入法安裝425.2 輸入法使用435.2.1 切換輸入法435.2.2 按鍵布局445.2.3 基本輸入模式445.2.4 萬能鍵的使用455.2.5
12、標(biāo)點符號輸入465.2.6 鍵盤切換465.3 輸入法卸載475.4 本章小結(jié)48第六章總結(jié)與展望49參考文獻(xiàn)50攻讀學(xué)位期間公開發(fā)表的論文52第一章 緒論1.1 課題背景與意義近年來,我國手機(jī)用戶數(shù)量以驚人的速度增長,工信部2011年3月1日發(fā)布2011年1月份通信業(yè)運行狀況,數(shù)據(jù)顯示,2011年1月,全國用戶總數(shù)達(dá)到11.64億戶,其中移動用戶凈增1072.0萬戶,達(dá)到8.7億戶1。手機(jī)終端功能的多樣化和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,也使手機(jī)的使用越來越普遍。而飛速增長的移動市場,同時也促進(jìn)了移動產(chǎn)業(yè)價值鏈各個環(huán)節(jié)的共同發(fā)展,這其中就包括了網(wǎng)絡(luò)運營商、網(wǎng)絡(luò)設(shè)備制造商、終端廠商乃至容提供商等。伴隨著手
13、持通信設(shè)備的日益普與,人們越來越多地依賴于通過這些設(shè)備進(jìn)行信息處理和交流,因此如何快速準(zhǔn)確地向手持式設(shè)備輸入文字信息成為當(dāng)今信息領(lǐng)域研究的熱點之一。目前,手持通信設(shè)備使用的輸入法主要為:數(shù)字鍵盤輸入法、手寫輸入法以與全鍵盤輸入法。由于手持設(shè)備本身硬件的限制,數(shù)字鍵盤輸入法成為手機(jī)中最常用的輸入法,然而現(xiàn)在,我國數(shù)字鍵盤漢字輸入的技術(shù)和市場主要被外國壟斷,90%以上的手機(jī)嵌入的漢字輸入法技術(shù)使用的是國外技術(shù)和專利,我們使用的每臺手機(jī)都必須給外國公司支付超過0.3美元的漢字輸入技術(shù)專利費,僅此一項,每年就要支付幾億元人民幣。目前,美國的T9輸入法和加拿大字源(eZiText)輸入法約占我國手機(jī)數(shù)字
14、鍵盤輸入法市場的80%,而國產(chǎn)輸入法市場占有率不足20%2。然而即便這樣,國外公司的中文輸入技術(shù),仍缺乏從漢字的基本規(guī)律出發(fā),來理解漢字的系統(tǒng)性和科學(xué)性,不能從根本上徹底解決漢字與信息輸入技術(shù)的有機(jī)結(jié)合,在這種情況下,我們開發(fā)自己的國產(chǎn)手機(jī)輸入法,不僅可以為手機(jī)終端用戶提供最先進(jìn)的漢字輸入技術(shù),還可以為手機(jī)生產(chǎn)商節(jié)約技術(shù)成本,同時為國家節(jié)省大筆外匯。在這種背景下,信息產(chǎn)業(yè)部在2007年便公布了相應(yīng)的技術(shù)標(biāo)準(zhǔn)用于規(guī)數(shù)字鍵盤漢字輸入技術(shù),通過技術(shù)標(biāo)準(zhǔn)的制定和實施,促進(jìn)數(shù)字鍵盤漢字輸入技術(shù)進(jìn)步3。國也陸續(xù)推出了自己的輸入法,例如由國筆科技推出的國筆智能輸入法,騰凌智能數(shù)字鍵盤中文輸入法等。然而,國外
15、手機(jī)數(shù)碼輸入法已經(jīng)占據(jù)了非常大的市場份額,以與國產(chǎn)漢字輸入技術(shù)的相對還不是很成熟,國產(chǎn)手機(jī)數(shù)碼輸入法的發(fā)展仍有很艱巨的道路要走。本文所討論的輸入法為基于筆形的數(shù)碼輸入技術(shù),此方法具有簡、繁通用的特點。智能輸入技術(shù)的引入極提高了漢字輸入系統(tǒng)的性能,最早該技術(shù)被拼音輸入法用來解決由于同音字引起的重碼問題,接著又被用來簡化用戶輸入,后來又被用來適應(yīng)不同用戶的輸入習(xí)慣,本文討論如何將智能輸入技術(shù)和中文輸入技術(shù)結(jié)合起來,以實現(xiàn)輸入法動態(tài)自適應(yīng)的輸入。以往,手機(jī)操作系統(tǒng)不開放編程接口,不支持第三方軟件的開發(fā)。隨著手機(jī)市場的競爭日益強(qiáng)烈以與手機(jī)終端功能的不斷增強(qiáng),越來越多的手機(jī)操作系統(tǒng)開放接口以便支持第三方
16、軟件的開發(fā),像Windows Mobile操作系統(tǒng)、Symbian操作系統(tǒng)、Smartphone 操作系統(tǒng)以與Android操作系統(tǒng)等。在中國智能手機(jī)操作系統(tǒng)市場上,Android發(fā)展迅速,其市場份額由2008年的0.3%飆升至2010年的14.3%??梢姡珹ndroid系統(tǒng)的發(fā)展勢頭非常好,在國手機(jī)操作系統(tǒng)市場份額必將領(lǐng)先其他,因此本文將Android系統(tǒng)作為縱橫輸入法的目標(biāo)實現(xiàn)平臺。對于本課題的實現(xiàn),有如下意義: 將智能輸入技術(shù)進(jìn)一步應(yīng)用與手機(jī)輸入系統(tǒng)中,便于適應(yīng)用戶的輸入習(xí)慣,提高了用戶輸入漢字的速度。 利于促進(jìn)國數(shù)碼漢字輸入技術(shù)的進(jìn)步,提高國產(chǎn)輸入法在市場中的競爭力。 對于各種輸入法向
17、手持設(shè)備上的移植具有借鑒意義。1.3 研究現(xiàn)狀如今,智能移動設(shè)備正處于高速發(fā)展的階段。產(chǎn)品價格的不斷合理化,也大力推動了智能手機(jī)的普與。它的發(fā)展同時也帶動了其相關(guān)軟件產(chǎn)品的發(fā)展,漢字輸入法軟件就是其中之一,因為它是向漢字用戶推廣智能手機(jī)產(chǎn)品的必要前提4。1.3.1移動手機(jī)平臺發(fā)展現(xiàn)狀早期手機(jī)由于功能單一且用途簡單,故其硬件設(shè)備也簡單,針對不同硬件設(shè)備開發(fā)的相應(yīng)的手機(jī)操作系統(tǒng)成本較(手機(jī)中文輸入法的設(shè)計與實現(xiàn))低5。但隨著手機(jī)功能逐漸的綜合化和復(fù)雜化,軟硬件成本逐漸增加,人們開始開發(fā)一些符合某些硬件標(biāo)準(zhǔn)的手機(jī)的操作系統(tǒng),既可以方便用戶使用,也大大降低了手機(jī)生產(chǎn)的軟件成本。智能手機(jī)也自此應(yīng)運而生。
18、2005年以后,智能手機(jī)更是飛速發(fā)展,改變了人們的生活方式。智能手機(jī)具有五大特點:1、具有開放的操作系統(tǒng),可以自由安裝第三方應(yīng)用,使系統(tǒng)功能得到無限擴(kuò)展;2、具有無線接入互聯(lián)網(wǎng)的能力,即在GSM網(wǎng)絡(luò)中需要支持GPRS,在CDMA網(wǎng)絡(luò)中支持CDMA 1X或3G網(wǎng)絡(luò);3、具有PDA功能,包括PIM(個人信息管理)、多媒體應(yīng)用、瀏覽網(wǎng)頁、日程記事等;4、功能強(qiáng)大,擴(kuò)展性強(qiáng),第三方支持多;5、人性化,可以根據(jù)個人需要擴(kuò)展與其功能24。目前主要的手機(jī)智能操作系統(tǒng)包括:Symbian、Android、Windows Phone、iOS、Palm OS、Linux等24。1. SymbianSymbian是
19、由幾家大型移動通訊設(shè)備商(諾基亞、摩托羅拉、三菱、愛立信與Psion等)共同出資成立的一家合資公司,專門用于研發(fā)手機(jī)操作系統(tǒng)(Symbian OS)7,其目標(biāo)是開發(fā)一種開放性的操作系統(tǒng),使其能在手機(jī)與其他一些移動設(shè)備上運行。2008年Symbian被諾基亞全額收購。Symbian是一套相當(dāng)成熟的操作系統(tǒng),具有強(qiáng)大的開放性和較低的研發(fā)成本,被授權(quán)的開發(fā)商能更自由的研發(fā)第三方軟件,利潤也是相當(dāng)豐厚;運行環(huán)境穩(wěn)定安全,效率也相當(dāng)高,界面靈活簡單,用戶體驗相當(dāng)友好,因此也穩(wěn)坐智能手機(jī)市場冠軍相當(dāng)長一段時間。不過,Symbian也有一些致命的缺點,直接導(dǎo)致了后來的失敗結(jié)局。例如:一、Symbian機(jī)型的
20、硬件配置普遍較低,各類機(jī)型所采用的屏幕分辨率和處理器主頻都比較低,雖然系統(tǒng)可以獲得較高的處理效能,但是在多媒體等方面表現(xiàn)仍然不盡如人意。二、在多媒體方面,Symbian OS對主流的媒體格式的支持性較差。三、雖然Symbian OS為了適應(yīng)不同的人群和各類的需要而采用了多種平臺,但這也成為了Symbian發(fā)展一個障礙。每個平臺之間的第三方軟件不能相互兼容,軟件開發(fā)商專注于單一平臺,而減少了各個平臺通用的軟件個數(shù),給用戶帶了很多不便。四、版本之間兼容性較差,每個新的版本的Symbian發(fā)布并且產(chǎn)品上市之后,很多軟件要開發(fā)商通過開發(fā)新的版本跟進(jìn),才能繼續(xù)使用。五、對細(xì)節(jié)的注意不是很夠。由于Symb
21、ian只提供廠商一個核與UI,很多細(xì)節(jié)功能是需要手機(jī)廠商進(jìn)行添加的。而很多手機(jī)廠商重點放在了多功能與綜合的性能等多方面,忽略了基本功能,以至于一些機(jī)型的鬧鐘功能都必須由第三方軟件來實現(xiàn),給不熟悉系統(tǒng)的用戶帶來了很多困難。2. AndroidAndroid是Google于2007年11月5日提出的基于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,號稱是首個為移動終端打造的真正開放的和完整的移動軟件。Android系統(tǒng)主要廠商包括美國摩托羅拉、國的三星、英國的索尼愛立信還有很多的中國廠商,例如:HTC、聯(lián)想、華為、中興等,使之躍居全球最受歡迎的智能手機(jī)平臺,Android系統(tǒng)不但應(yīng)用于智能手機(jī),也在平板
22、電腦市場急速擴(kuò)。據(jù)市場調(diào)研公司尼爾森發(fā)布統(tǒng)計數(shù)據(jù)稱,2010年第二季度谷歌Android手機(jī)在美國的銷量首次超過了蘋果iPhone,這也讓諸多業(yè)人士直呼未來是Android的8。3. iOSiOS是蘋果公司為iPhone、iPod touch以與iPad開發(fā)的操作系統(tǒng)。iOS有用戶界面相當(dāng)友好,操作也很方便,系統(tǒng)性能穩(wěn)定,豐富的第三方軟件資源、服務(wù)也很完善等很多優(yōu)點。但是它的缺點也是相當(dāng)?shù)亩?,如:一、系統(tǒng)核源代碼完全封閉的,并且只有獲得蘋果公司的授權(quán)的第三方軟件開發(fā)者才能開發(fā)iOS軟件。并且較多的開發(fā)平臺限制也增加了第三方開發(fā)者的研發(fā)成本。二、其第三方軟件中,大部分是付費軟件。三、搭載iOS系
23、統(tǒng)的蘋果產(chǎn)品價格較為昂貴,讓大部分消費者望而卻步。所以致使其被之后的Android超越了。4. Linux嵌入式Linux操作系統(tǒng)是指對標(biāo)準(zhǔn)Linux經(jīng)過小型化裁剪處理之后,能夠固化在容量只有幾KB或者幾MB字節(jié)的存儲器芯片或者單片機(jī)中,適合于特定嵌入式應(yīng)用場合的專用Linux操作系統(tǒng)9。嵌入式Linux系統(tǒng)是智能手機(jī)操作系統(tǒng)的后來者,由于該系統(tǒng)免費開放源代碼,國外很多公司致力于Linux操作系統(tǒng)和應(yīng)用軟件的開發(fā)10。其優(yōu)勢表現(xiàn)為以下幾點11:a、 應(yīng)用于智能手機(jī)上Linux操作系統(tǒng)和應(yīng)用與電腦上的Linux操作系統(tǒng)是同一個系統(tǒng),而且全都是是免費操作系統(tǒng)。在操作系統(tǒng)上免費就等于節(jié)省了產(chǎn)品的生成
24、成本。b、 Linux操作系統(tǒng)系統(tǒng)資源占有率較低,而且性能比較穩(wěn)定12,如果Linux平臺的系統(tǒng)資源占用程度,比體積龐大的Windows Mobile小的多。c、 Linux操作系統(tǒng)與JAVA相互融合,是任何一個操作系統(tǒng)所不能比擬的,Linux+JAVA的應(yīng)用方式,能夠給用戶極大的拓展空間。不過Linux也有很多天生的缺點,例如:a、 入門難度高、熟悉其開發(fā)環(huán)境的工程師少、集成開發(fā)環(huán)境不夠完善。b、 由于微軟PC操作系統(tǒng)源代碼不公開,基于Linux的產(chǎn)品很難與PC進(jìn)行連接。c、 從事Linux操作系統(tǒng)開發(fā)的公司雖然多,但缺乏開發(fā)實力較強(qiáng)的公司,并且這些公司相互獨立開發(fā)難以實現(xiàn)重大突破。因此Li
25、nux也很難搶占移動市場份額。5. Windows PhoneWindows Mobile系列徹底退出手機(jī)操作系統(tǒng)市場后,微軟于2010年2月,又正式發(fā)布了Windows Phone手機(jī)操作系統(tǒng)以對抗谷歌的Android和蘋果的iPhone,該系統(tǒng)的程序?qū)⑴cWindows Mobile互不兼容。Windows Phone系統(tǒng)主要生產(chǎn)廠商有:三星,HTC,LG等。諾基亞也將把Windows Phone作為其智能手機(jī)的主要操作系統(tǒng),并與微軟達(dá)成戰(zhàn)略合作關(guān)系,這必將給移動操作系統(tǒng)領(lǐng)域帶來新的活力。6. Palm OSPalm是Palm公司開發(fā)的一種32位嵌入式操作系統(tǒng),主要應(yīng)用于掌上電腦,其對硬件要
26、求不高,使得采用Palm系統(tǒng)的設(shè)備體積較小巧,電池續(xù)航長24。Palm系統(tǒng)不但占用系統(tǒng)資源少,硬件要求不高,電池壽命長,而且系統(tǒng)簡單易用,采用了觸控的操作界面,一個觸控筆可以完成幾乎所有操作,十分方便攜帶。不過它也有很多不完善的地方,如缺少一些常用基本功能,比如通訊功能和多媒體功能,中文產(chǎn)品也相對較少。1.3.2手機(jī)輸入法發(fā)展現(xiàn)狀文字輸入方式根據(jù)設(shè)備終端所采用的硬件,可分為數(shù)字鍵盤、全鍵盤與手寫輸入三大類2413。早期的手機(jī)漢字輸入法,用手機(jī)數(shù)字鍵29分別代表26個英文字母,如數(shù)字鍵2代表“ABC”三個字母1415;在輸入時,輸入2代表A,22代表B,222代表C。所以在輸入拼音的時候需要一一
27、選擇需要的字母來組成拼音,然后根據(jù)拼音來選擇需要的文字。這種輸入法效率十分低的15。目前數(shù)字鍵盤輸入法雖然種類繁多,但主要市場份額基本上被T9、iTAP和字能(eZi)這三種輸入法所占領(lǐng)101617,其他輸入法的市場份額極少。這三款數(shù)字鍵盤輸入軟件,均提供拼音、筆畫、注音(地區(qū))三種輸入方式10。T9輸入法全稱T9智能輸入法,該輸入法是由語音技術(shù)、文字輸入和圖像解決方案提供商N(yùn)uance通訊公司開發(fā)的418,目前占有率最高。T9輸入法是針對移動小型終端的文字輸入解決方案,以輸入字符高效快捷而著稱19。T9的中文輸入包括簡體中文和繁體中文,輸入方式包括筆畫、拼音以與注音。目前已支持漢語、英語、法
28、語德語、意大利語等44種語言,中文字庫容量達(dá)9000多字17 19。字能輸入法20是由總部設(shè)在加拿大的字源咨詢技術(shù)和愛立信合作推出的。此輸入法具有20902個漢字的高容量字庫,是T9輸入法字庫的兩倍多。該輸入法主要被早起的愛立信、阿爾卡特以與一些國產(chǎn)手機(jī)如聯(lián)想等采用。該輸入法支持拼音和筆畫兩種中文簡體輸入方式,兩種輸入方式都具有聯(lián)想功能15。iTAP輸入法全稱iTAP智能按鍵輸入法,是摩托羅拉經(jīng)過潛心研究,在T9的基礎(chǔ)上發(fā)展起來的。摩托羅拉在美國加州設(shè)有專門的研究所,不斷地對iTAP輸入法軟件字庫進(jìn)行更新,輸入法軟件支持20多種語言21,支持語言的種類比其他輸入法軟件都多。該輸入法還能夠根據(jù)最
29、常用的聲、韻母組合和最頻繁使用的文字統(tǒng)計、聲調(diào)和詞語聯(lián)想等先進(jìn)技術(shù),實現(xiàn)簡便、快捷的輸入17。國比較知名的手機(jī)輸入法開發(fā)廠商主要有電訊、A4、搜狗和騰訊418,前兩家都是專門從事手機(jī)輸入法開發(fā)的廠商,目前它們分別被百度和騰訊收購。因為國對中文的理解更深,也更加了解中文的輸入習(xí)慣,實際上國產(chǎn)輸入法在性能上不遜色于或優(yōu)于海外輸入法4。拼音輸入法比目前國外同類技術(shù)快29%至41%,筆畫輸入法比國外同類技術(shù)快40%至51%,音形組合輸入法比國外輸入法快近70%422。由于手機(jī)設(shè)備大部分是海外生產(chǎn)的,直接捆綁了海外的輸入法,導(dǎo)致了國輸入法難以提高占有率,打開市場。不過隨著手機(jī)系統(tǒng)的不斷開放,例如Andr
30、oid中完全開源的手機(jī)系統(tǒng)出現(xiàn)后,用戶可以自行安裝輸入法,國產(chǎn)輸入法將會得到迅猛的發(fā)展。1.3 本文工作1)提出了一個適合Android平臺的輸入法碼本設(shè)計方案合理的碼本設(shè)計對于輸入法來說有著非常重要的作用 ,直接關(guān)系到輸入法的查詢性能、所需存儲空間等多個方面。一種輸入法,如果占用過多的存儲空間或者具有較差的輸入性能,均不利于用戶的使用。然而這兩個方面又是相互矛盾的,所以需要在輸入法的性能與資源占用之間進(jìn)行平衡。為了實現(xiàn)簡繁通用,本文輸入法采用了Unicode編碼,并對碼本進(jìn)行了壓縮。本文編碼方案所需要的文件包括字索引文件、字碼本文件、詞索引文件、詞碼本文件。本文詳細(xì)介紹了該編碼方案,并從碼本
31、的結(jié)構(gòu)、索引的結(jié)構(gòu)以與輸入法根據(jù)輸入碼檢索碼本的具體流程,對該編碼方案進(jìn)行了詳盡的闡述。2)分析了Android輸入法框架,設(shè)計了一個基于Android平臺的輸入系統(tǒng)Android手機(jī)系統(tǒng)平臺,自Google公司2007年發(fā)布以來,以其開放性、硬件選擇的多樣性和對第三方開發(fā)商較少的限制等各種因素,已經(jīng)成為最流行的手機(jī)操作系統(tǒng)之一。本文詳細(xì)介紹了Android平臺的各個功能組件以與平臺框架結(jié)構(gòu)等。而從Android平臺1.5版本以后,Google更是開放了Android平臺輸入法框架(Input Method Framework,IMF),為Android平臺的輸入法帶來了可擴(kuò)展性。為了能開發(fā)出
32、Android平臺下的輸入法,本文對Android平臺的輸入法框架進(jìn)行了詳細(xì)的介紹。本文首先介紹了Android輸入法的生命周期以與它的幾個重用組成部分,包括:輸入法服務(wù),輸入法應(yīng)用和客戶端。然后又重點介紹了輸入法應(yīng)用的幾個重要組成。最后還羅列了根據(jù)Android平臺輸入法框架中需要實現(xiàn)的幾個重要的類以與幾個重要的函數(shù)接口和這些接口的簡要說明。3)介紹了Android平臺輸入系統(tǒng)的實現(xiàn)技術(shù)根據(jù)對Android平臺輸入法框架的分析,本文在Android平臺上實現(xiàn)了一款新的漢字輸入法。本文首先從輸入法的邏輯處理、鍵盤視圖設(shè)計、界面設(shè)計以與消息的流轉(zhuǎn)以與處理等多方面,詳細(xì)闡述了該輸入法的設(shè)計與實現(xiàn)的
33、過程,其次又分析介紹了本文所設(shè)計的輸入法檢索碼本的具體流程。1.3 論文組織本文共分七章,論文的結(jié)構(gòu)和各個章節(jié)的主要容如下:第一章,為全文概述,首先介紹了課題的研究背景與意義以與本文的工作安排。第二章,介紹了與設(shè)計目標(biāo)相關(guān)的基礎(chǔ)工作,包括簡單介紹Android平臺與其框架和Android開發(fā)平臺的搭建,介紹縱橫輸入法的相關(guān)基礎(chǔ)知識,并分析其優(yōu)缺點,最后還全面介紹了Android手機(jī)平臺輸入法的生命周期與其重要組成部分等,羅列了Android平臺輸入法框架中,所需實現(xiàn)的幾個重要類與接口。第三章,介紹了縱橫輸入法碼本的特點,并從字詞碼本結(jié)構(gòu)、索引結(jié)構(gòu)以與碼本檢索流程等多方面,對縱橫輸入法的編碼進(jìn)行
34、了具體的描述。第四章,先從邏輯處理、鍵盤界面、候選字詞界面、消息流轉(zhuǎn)、以與候選字詞查找等多方面對該輸入法進(jìn)行了設(shè)計。然后從鍵盤的布局、輸入法的初始化、消息的捕獲與傳遞、消息的處理以與數(shù)據(jù)的查詢與反饋等多方面,詳細(xì)地介紹了Android平臺上縱橫輸入法的實現(xiàn)流程。第五章,詳細(xì)介紹了該漢字輸入法的設(shè)置、安裝、使用與卸載。第六章,總結(jié)全文,并展望下一步的研究工作。第二章 相關(guān)工作基礎(chǔ)2.1 Android平臺2.1.1 Android平臺簡介隨著通信行業(yè)的快速發(fā)展,手機(jī)已經(jīng)成為人們生活中的必需品,手機(jī)的功能也越來越完善4。目前主要的手機(jī)智能操作系統(tǒng)包括:Symbian OS, Windows Pho
35、ne, Linux, Palm OS 和 Android23。由于操作系統(tǒng)的開放性、硬件選擇的多樣性和對第三方開發(fā)商較少的限制等因素,Android系統(tǒng)已經(jīng)成為最流行的手機(jī)操作系統(tǒng)之一,具有很大的發(fā)展前景。Android 本來的意思是機(jī)器人,同時它還是Google 在2007年聯(lián)合無線應(yīng)用與移動技術(shù)領(lǐng)域的帶頭企業(yè)一起構(gòu)成的手機(jī)聯(lián)盟Open Handset Alliance 宣布的依靠Linux 平臺的開源手機(jī)操作系統(tǒng)的名稱24。該系統(tǒng)包含了操作系統(tǒng)、用戶界面、中間件和應(yīng)用程序,是首個為移動終端打造的真正意義上的開放和完整的移動移動設(shè)備綜合平臺。Google 重新設(shè)計了Java 虛擬機(jī)和系統(tǒng),使
36、得Android 的Java 應(yīng)用更接近于底層系統(tǒng),效率更高;另外使用虛擬機(jī)技術(shù)使得Android 的應(yīng)用在被監(jiān)控的情況下運行,安全性更高。與Windows CE ,iPhone OS ,Symbian 等不同,Android 公開源代碼,支持第三方軟件的加入,消除了任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。正是由于其開放性,Google Android 手機(jī)能夠加載很多個性化的東西,比如防火墻、即時通信軟件、Office閱讀器、輸入法等各種在電腦上安裝使用的軟件。無論是娛樂還是商業(yè)應(yīng)用,智能手機(jī)的功能都能在強(qiáng)大的第三方軟件的支持下獲得無限的擴(kuò)展25。豐富的Android 應(yīng)用也使其手機(jī)功能更加強(qiáng)
37、大,這加速了電腦與手機(jī)的融合,也加速了后PC 時代的到來。Android操作系統(tǒng)應(yīng)用了開源社區(qū)的很多優(yōu)秀成果,并做了大量的優(yōu)化和豐富的擴(kuò)充。Android操作系統(tǒng)主要包含了以下功能組件26:1. 經(jīng)Google 針對移動設(shè)備剪裁和優(yōu)化的Linux 核。2. 由Google 重新實現(xiàn)的Java 虛擬機(jī) Dalvik VM。3. 大量的函數(shù)庫和服務(wù),如瀏覽器引擎WebKit ,數(shù)據(jù)庫 SQLite。4. 常用的應(yīng)用程序,如撥號程序和通訊錄等。5. 一套完整的SDK(Software Development Kit ),提供了使用Java語言進(jìn)行Android應(yīng)用開發(fā)的API 類庫和工具集(包括An
38、droid 模擬器和Eclipse IDE 下的開發(fā)工具插件以與一組用于在模擬器和終端設(shè)備上打包、安裝、調(diào)試和測試的應(yīng)用程序的工具)。6. 經(jīng)過優(yōu)化的輕量級2D 和3D 圖形引擎,用于支持各種游戲的開發(fā)。7. 提供常見的音頻、視頻和圖片格式支持的底層媒體庫。8. 用于支持GSM 、藍(lán)牙、3G 、WiFi 、攝像頭、GPS 和各種輸入設(shè)備的驅(qū)動程序。2.1.2 Android 平臺框架Android操作系統(tǒng)自頂向下分為4層,分別為應(yīng)用層、應(yīng)用框架層、函數(shù)庫和虛擬機(jī)層以與Linux核層 27。1. Linux核層位于硬件和其它軟件層之間,采用YAFFS2 文件系統(tǒng)28,是基于Linux Versi
39、on 2.6核來開發(fā)的,包含了虛擬CPU 和Android 運行所需要的特定的驅(qū)動代碼,主要作用為提供系統(tǒng)的如安全管理、存機(jī)制、進(jìn)程管理等底層服務(wù),為系統(tǒng)運行提供基礎(chǔ)性的支持30。2. Android 運行時庫和其他庫層,包含一組核心庫和Dalvik 虛擬機(jī),核心庫存為Android提供了大部分Java語言核心庫。Android具有豐富的庫類支持且大部分為開源代碼,如SQLite 、WebKit 、OpenGL等,例如SQLite數(shù)據(jù)庫,體積小只有250KB但支持?jǐn)?shù)據(jù)庫大小至2TB,提供了對事務(wù)功能和并發(fā)處理的支持,而且比目前流行的大多數(shù)數(shù)據(jù)庫運行速度快29。該層可以通過Java本地調(diào)用JNI
40、(Java Native Interface)的接口函數(shù)來實現(xiàn)與上層之間的通信31。3. 應(yīng)用框架層包含了所有開發(fā)所用的SDK類庫和某些未公開接口的類庫。該層為Android 開發(fā)人員提供了訪問框架應(yīng)用程序接口的全部權(quán)限,使開發(fā)人員能方便并安全地訪問系統(tǒng)功能和其他應(yīng)用程序所發(fā)布的功能供其他程序使用,并發(fā)布自己應(yīng)用程序的功能。通過采用結(jié)構(gòu)化設(shè)計,大大簡化了組件之間的重用,提高了開發(fā)者的開發(fā)效率。應(yīng)用框架層為開發(fā)者提供了大量的組件和服務(wù),如:豐富和可擴(kuò)展的視圖、容提供器、資源管理器、通知管理器、活動管理器和位置管理器等。4. 應(yīng)用層包含了Android本身的一些核心應(yīng)用程序,例如客戶端,短信程序,
41、日歷程序,地圖,瀏覽器,通訊錄等等,還有一些基于Google Android 的SDK 開發(fā)的第三方應(yīng)用程序。目前所有的應(yīng)用程序都是由Java語言開發(fā)的12。Android平臺結(jié)構(gòu)圖如圖4.1所示。圖2.1 Android平臺框架2.1.3 Android 平臺開發(fā)環(huán)境搭建Android應(yīng)用程序主要的開發(fā)語言為Java 語言,主要的集成開發(fā)環(huán)境為Eclipse軟件,并且Google 提供了在Eclipse下快速開發(fā)Android 應(yīng)用程序的插件ADT 。ADT是Android Development Tools的縮寫,它是集成到Eclipse上的一個插件,能夠提供一個強(qiáng)大的集成開發(fā)環(huán)境來開發(fā)A
42、ndroid應(yīng)用。搭建Android開發(fā)平臺的流程如下:1. 軟件準(zhǔn)備a、 進(jìn)入Java官網(wǎng)(java.sun./javase/downloads/index.jsp )頁面下載jdk1.6+;b、 進(jìn)入Eclipse官網(wǎng)(./downloads/ )下載Eclipse 3.3(Europa); c、 進(jìn)入Google Android 官網(wǎng)(developer.android./sdk/1.6_r1/index.html )下載Android SDK;2. 安裝集成平臺和配置Java環(huán)境變量a、 安裝JDK 并配置好Java 環(huán)境變量b、 安裝Eclipse將下載的Ecl
43、ipse壓縮包解壓到相應(yīng)的安裝目錄即可。3. 配置Android 平臺開發(fā)環(huán)境a、 安裝Android Development Tools (ADT )插件啟動Eclipse ,如果是Eclipse3.5 或Eclipse3.6 選擇Help -Install New Software. ,點擊Add ,如果Eclipse3.4與以下版本菜單是Help -Software Updates. ,點擊Add Site 準(zhǔn)備安裝插件。在Location 中輸入Android ADT插件在線下載地址: s:/dl-ssl.google./android/eclipse/ ,點擊OK按鈕就可以下載安裝了
44、。b、 應(yīng)用Android SDK到Eclipse在Eclipse 工具欄中,選擇:Window - Preferences.左邊菜單中選中android,在右邊瀏覽框中選擇sdk的解壓目錄作為 sdk location,點擊Apply ,然后點擊OK按鈕即可。為了便于模擬和測試應(yīng)用程序,Android SDK自帶一個移動模擬設(shè)備可以在電腦上運行的虛擬設(shè)備。模擬器允許開發(fā)者開發(fā)的應(yīng)用程序通過Android 平臺服務(wù),調(diào)用其他程序、訪問網(wǎng)絡(luò)、播放音頻和視頻、保存和接收數(shù)據(jù)、通知用戶、渲染圖像過渡和場景等功能。通過Eclipse的“窗體”(Windows)菜單-“Android虛擬設(shè)備管理器”(A
45、ndroidAVD manager)進(jìn)入Android虛擬設(shè)備管理界面,然后點擊“New”按鈕彈出創(chuàng)建AVD對話框,在該窗口中添加Name(AVD名稱)、Target(Android版本指定)、SDK大小和外觀特征,即可完成對Android模擬器的創(chuàng)建工作。通過Eclipse的“窗體”(Windows)菜單-“Android虛擬設(shè)備管理器”(Android AVD manager)進(jìn)入Android虛擬設(shè)備管理界面,選擇要啟動的Emulator,然后點擊“start”按鈕,進(jìn)入Emulator啟動界面,點擊“l(fā)aunch”按鈕,完成所選模擬器的啟動后,即可進(jìn)行相關(guān)模擬測試程序。2.2 縱橫輸入
46、法2.2.1 縱橫輸入法簡介縱橫輸入法是由浙同鄉(xiāng)會主席周忠繼先生所發(fā)明,由大學(xué)縱橫漢字信息技術(shù)研究所研制。經(jīng)過多年不斷地完善,在、澳門等地大受歡迎。 在縱橫碼中根據(jù)漢字的字形,采用0到9十個數(shù)字對漢字進(jìn)行編碼??v橫碼中規(guī)定了十種基本筆形,分別用0到9十個數(shù)字對其進(jìn)行編碼。 一個漢字的基本編碼方法為:將漢字看成一個方塊字,取漢字四個角的筆形代碼作為一個漢字的編碼,輸入法規(guī)定單字的輸入碼最多為四個數(shù)字,最少為一個數(shù)字。 詞組的輸入碼根據(jù)組成詞組的單字的輸入碼來取,詞組的輸入碼最多為六個數(shù)字,最少為一個數(shù)字。2.2.2 縱橫輸入法優(yōu)點現(xiàn)在手機(jī)上較有影響力的輸入法有筆畫類輸入法和拼音類輸入法。 拼音輸
47、入法雖然易學(xué)卻很難普與,不適合普通話不標(biāo)準(zhǔn)不熟悉漢語拼音者學(xué)習(xí),在方言地區(qū)推廣就更困難。 一般的筆畫類輸入法又存在重碼率高,詞庫較小、標(biāo)點符號輸入不方便、輔助用戶使用功能較弱等缺點,影響用戶輸入效率。 縱橫輸入法克服了以上幾種輸入法的缺點,詞庫很大、標(biāo)點符號輸入方便。采用GBK大字符集,既支持簡體字輸入又支持繁體字輸入,具有簡單易學(xué)、簡繁通用、詞組豐富、功能強(qiáng)大,標(biāo)點符號輸入方便,還可以對重碼字詞進(jìn)行調(diào)頻,具有輔助用戶使用等優(yōu)點32。2.3 輸入法框架介紹2.3.1 輸入法框架簡介自Android平臺1.5版本以后,Google開放了Android平臺輸入法框架(Input Method Fr
48、amework,IMF),IMF是Android平臺的特色設(shè)計。它的出現(xiàn)大大推動了不帶實體鍵盤的設(shè)備的誕生。同時,Android平臺輸入法框架也給出了輸入法的開發(fā)所需要的接口,為Android平臺的輸入法提供了可擴(kuò)展性。2.3.2 輸入法框架組成一個輸入法框架結(jié)構(gòu)中包含三個主要的部分:輸入法服務(wù),負(fù)責(zé)管理各部分的交互,管理輸入法應(yīng)用,其中包括輸入法的安裝、注冊、激活等。主要工作由InputMethdoManagerService(IMMS)完成。它是一個客戶端API,存在于各個應(yīng)用程序的上下文(context)中,用來溝通管理所有進(jìn)程間交互的全局系統(tǒng)服務(wù)。輸入法應(yīng)用 ,具體處理用戶輸入行為的應(yīng)
49、用程序,實現(xiàn)一個允許用戶生成文本的獨立交互模塊。系統(tǒng)綁定一個當(dāng)前的輸入法。使其創(chuàng)建和生成,決定輸入法何時隱藏或者顯示它的UI。同一時間只能有一個輸入法應(yīng)用運行。為了能夠在Android的輸入法框架中良好的運行,所有的輸入法應(yīng)用都需要繼承特定的服務(wù)??蛻舳耍侵妇哂形淖志庉嫻δ艿南到y(tǒng)控件(如EditText),是平臺部輸入法應(yīng)用人機(jī)交互的起點,是用戶與輸入法應(yīng)用進(jìn)行交互的渠道??蛻舳丝丶c輸入法服務(wù)和輸入法應(yīng)用都有交互操作。當(dāng)客戶端控件接受到焦點時,控件啟動輸入法應(yīng)用并顯示鍵盤;而失去焦點時,則隱藏鍵盤。同時能夠傳遞控件狀態(tài),接受并顯示輸入法應(yīng)用反饋的輸入文字??蛻舳送ㄟ^輸入法管理器控制輸入焦點
50、和IME的狀態(tài)。一次只能有一個客戶端使用輸入法。輸入法整體框架圖2.2所示。圖2.2 輸入法的總體框架2.3.3 輸入法應(yīng)用組成Android 平臺的輸入法框架(Input Method Framework,IMF)中,最主要的是輸入法應(yīng)用(InputMethodService),他繼承于AbstractInputMethodService。InputMethodService主要由以下幾個組件構(gòu)成,其中包括完成輸入法的相關(guān)UI,和文字的輸出:1. 軟鍵盤視圖(Soft Input View)這是軟鍵盤的輸入?yún)^(qū)域,主要完成在觸摸屏下和用戶的交互輸入。onCreateInputView()被調(diào)用
51、來進(jìn)行軟鍵盤視圖的實例化;onEvaluateInputViewShown() 決定是否顯示軟鍵盤視圖;當(dāng)狀態(tài)改變的時候,調(diào)用updateInputViewShown()來重新決策是否顯示軟鍵盤視圖。2. 候選字視圖(Candidates View)Candidates View也是輸入法中一個相當(dāng)重要的組件。當(dāng)用戶輸入字符的時候,顯示相關(guān)的列表。停止輸入的時候,有會自動消失。onCreateCandidatesView()來實例化自己的輸入法。和軟鍵盤視圖不同的是,候選字視圖對整個UI布局不會產(chǎn)生影響。setCandidatesViewShown(boolean) 用來設(shè)置是否顯示候選字視圖
52、。3. 輸出字符字符的輸出是InputMethodService最核心的功能,輸入法通過 InputConnection 從IMF來獲得字符輸出。并且通過不同的編輯器(editor)類型來獲取相應(yīng)的支持。通過 onFinishInput()和onStartInput(EditorInfo, boolean)方法來進(jìn)行輸入目標(biāo)的切換。另外,onInitializeInterface()用于InputMethodService在執(zhí)行的過程中配置的改變; onBindInput()切換一個新的輸入通道; onStartInput(EditorInfo, boolean)處理一個新的輸入。2.3.4
53、輸入法消息流轉(zhuǎn)機(jī)制輸入法框架包括客戶端、輸入法服務(wù)和輸入法應(yīng)用三部分組成,如圖2.3所示。輸入法框架中消息的流轉(zhuǎn)機(jī)制為:當(dāng)客戶端獲得焦點,啟動輸入法,創(chuàng)建一個連接類型對象,以實現(xiàn)輸入法框架各個層次間信息的傳輸。該連接類型實現(xiàn)了InputConnection接口。圖2.3 輸入法消息流轉(zhuǎn)InputConnection接口是輸入法框架(IMF)里面一個重要的接口,它實現(xiàn)了BaseInputConnection和InputConnectionWrapper上層的接口,主要用于應(yīng)用程序和InputMethod之間通信的通道,可以實現(xiàn)包括讀取光標(biāo)周圍的輸入,向文本框中輸入文本以與給應(yīng)用程序發(fā)送各種按鍵事
54、件。其中接口InputMethod是AbstractInputMethodService和InputMethodService的上層接口,可以產(chǎn)生各種按鍵事件和各種字符文本??蛻舳送ㄟ^InputConnection將輸入碼傳給輸入法應(yīng)用后,輸入法應(yīng)用對輸入碼進(jìn)行相關(guān)的處理。當(dāng)輸入法應(yīng)用對輸入碼處理完畢后,需要將處理后得到的文字等數(shù)據(jù)容,反饋給客戶端控件??蛻舳瞬豢芍苯釉L問輸入法程序,只可以通過某些輸入控件訪問InputMethodSession接口。每個客戶端創(chuàng)建一個接口實例,只有與激活客戶相關(guān)聯(lián)的會話的調(diào)用才會被輸入法(IME)處理。這是通過輸入法(IME)的 AbstractInputMe
55、thodService來執(zhí)行,由輸入法(IME)顯式的處理,而輸入法(IME)正是InputMethodSession的自定義實現(xiàn)。InputMethodSession是輸入法應(yīng)用提供給每個客戶端的,可安全地暴露在應(yīng)用程序中的接口。應(yīng)用程序通常不自己使用本接口,而是依靠TextView和EditText等提供的標(biāo)準(zhǔn)進(jìn)行交互。InputMethodSession接口需要由InputMethodService和 InputMethodSessionImpl 實現(xiàn)。2.3.5 輸入法生命周期輸入法是用戶、應(yīng)用程序之間的交互的渠道,所有的輸入法應(yīng)用都需要繼承特定的Android平臺提供的服務(wù)。Andr
56、oid平臺的輸入法框架為輸入法應(yīng)用定義了一個基類InputMethodService, InputMethodService提供了一個輸入法的標(biāo)準(zhǔn)實現(xiàn)流程,定義了輸入法生命周期的重要函數(shù),以方便開發(fā)人員對Android輸入法進(jìn)行擴(kuò)展。圖2.4便為Android輸入法生命周期。圖2.4 Android 輸入法生命周期具體為: 當(dāng)用戶點擊客戶端輸入控件(如editor)時,客戶端控件獲得焦點,InputMethodService啟動,調(diào)用其onCreate() 函數(shù)。該函數(shù)在輸入法第一次啟動的時候被調(diào)用,用來做初始化的設(shè)置; 調(diào)用onCreateInputView() 函數(shù),在該函數(shù)中創(chuàng)建鍵盤視圖
57、(KeyboardView)并返回; 調(diào)用onCreateCandidatesView()函數(shù),在該函數(shù)中創(chuàng)建候選字視圖(Candidates View)實現(xiàn)并返回; 調(diào)用onStartInput ()函數(shù),開始接收并處理輸入容; 輸入結(jié)束后調(diào)用onFinishInput()函數(shù)來結(jié)束當(dāng)前的輸入; 如果移動到下一個輸入框則重復(fù)調(diào)用onStartInputView和onFinishInput函數(shù); 在輸入法關(guān)閉的時候調(diào)用onDestroy() 函數(shù)。2.3.5 輸入法主要的類和函數(shù)在Android輸入法開發(fā)過程中,下面三個類的實現(xiàn)比較重要:InputMethodService類:提供了很多的輸入法的基礎(chǔ)實現(xiàn),管理狀態(tài)的條款、輸入法的可見度、與當(dāng)前可見的Activity溝通;CandidateView類:提供候選字選擇視圖,直接繼承于View。負(fù)責(zé)顯示軟鍵盤上面的那個候選區(qū)域。LatinKeyb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 25320.4-2024電力系統(tǒng)管理及其信息交換數(shù)據(jù)和通信安全第4部分:包含MMS的協(xié)議集及其附件
- GB/T 45159.3-2024機(jī)械振動與沖擊黏彈性材料動態(tài)力學(xué)性能的表征第3部分:懸臂剪切梁法
- GB/T 45205-2024經(jīng)營者公平競爭合規(guī)管理規(guī)范
- Lactofen-生命科學(xué)試劑-MCE-2687
- Dityrosine-dihydrochloride-Bityrosine-dihydrochloride-生命科學(xué)試劑-MCE-2022
- 2025年度酒店安全管理責(zé)任免除協(xié)議書模板
- 二零二五年度房地產(chǎn)項目財務(wù)風(fēng)險評估顧問協(xié)議
- 二零二五年度特色茶餐廳員工勞動保障合同
- 二零二五年度荒山承包與植被種植一體化合同
- 施工現(xiàn)場施工圖紙會審制度
- 《AP內(nèi)容介紹》課件
- 醫(yī)生定期考核簡易程序述職報告范文(10篇)
- 市政工程人員績效考核制度
- 公園景區(qū)安全生產(chǎn)
- 安全創(chuàng)新創(chuàng)效
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- 初級創(chuàng)傷救治課件
- 《處理人際關(guān)系》課件
- TSGD7002-2023-壓力管道元件型式試驗規(guī)則
- 2022版義務(wù)教育英語課程標(biāo)準(zhǔn)整體解讀課件
- 2024年實驗小學(xué)大隊委競選筆試試題題庫
評論
0/150
提交評論