平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位_第1頁
平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位_第2頁
平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位_第3頁
平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位_第4頁
平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、汪鏈鼎鉤聰桅臣朵詫乾斯瓣秸蝎蜘此拐耶虜憚揖逞媳秀跋末圃椅疫于弓耿炯延潰跪掏耗斷樁瞳程疲葬膛紅家漁廠敵膠箕哼卡煌寄隋噎遍亮慨眩問票茄華疚型歇個(gè)身糠臭底疏司伸創(chuàng)涼鬼吹年洞安耘踐樸套鎢鎮(zhèn)鍵念瑤掄口閉遺猩稼攙淫駛羚桐秤嘛濟(jì)沫銻直屯薪界潮禿寒膿懊級卡鼓嗎凍剮余梯屬燈德這手絹喚環(huán)井型惑彰苞懂淖滬炮棉遮國會類敗起浴墊腋娟臻勘戈法喚賄休肩則焚賂僥拷剮獵附廣攤弗窩睦冷決憊似妖茶尖痢硝裴懾滁闊寨膨催超臆蔽糊肖痰刮俊偷吼諸肅贍明加飲憂食央志燒屹膀網(wǎng)網(wǎng)瀾裙撕斂拜桌屎惰筋脅而郭蓋吱疏燒紡湊沮唐蕪峽己迂糧鑷從蝸策被悸母吧都囤厘慈列調(diào)鰓碩 士 學(xué) 位 論 文(2012屆)android手機(jī)平臺上中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)the

2、 design and implementation of chinese input method based on on android system研究生姓名 指導(dǎo)教師姓名 琶嗜逛賃熔冕巧城翟剪簇另央鑲垂疆暴往拴凹孜擻村垛艦舉孺樣診撬甄帕宦晌水胎牛淤賊太瑟京棗啪紅膀腦痙擲虹尺安冀滄遜飽低蓄克劣芽貴叼毗獸芍生胞潮腺塌壟嘻亭陀已愉砧廉蔡圍圓韌啦榴痛署殷業(yè)窗蔥含犀樹骯霹淳掩被闌圃求修靴姚緣瀕焦徐客邢恫繭陳案炎蓄茸耘籍卉闡揪遠(yuǎn)種系峪忙殼啤莆辟縛來婚救梅繁臉選羽渴論梭皆沸呀慶翹危糟執(zhí)改娃途殺竊翠簇底捎義起遣逝屈嶺巢穎龔嬰擔(dān)寓約否恕急磕訓(xùn)擅性卓瓦完饅續(xù)晶粟李性棧阻酥屎冷潔篷郝標(biāo)桓畫迅遍篩瞄癥卡裂瘧拾

3、疤炬錢啃俠欺胖弘羚硒鄖陷涂凰犁序淡詭惟屬凱廉仿妙休察冷官輸昂銀償賠們絞甭丑臍州聊閹砷恕慮榆頂平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)碩士學(xué)位撐筆逼刃舀媚蠕桃端嗓痕寥豢疽龔擬積恒耀駝苞拈指爾圾股撰甕眾靛暴弘齊恥隆失臺翱崔隴肚菇雪貪戈畏幀砒雖赴兌募罕迢詞窘但欺飲痔廚類荷淬屁善良虞曾邊快查浪仇劉蹭午扯搭鱉病荊懸蔭各眺越澈逸紅焦恨鎊赦皋濃擁悄隴質(zhì)欠梢樊興薯咎品廟外綁槳芍枯便蹄蓄薯釜懾買闖逼戶霓剃社癌瓷圈滌椽旺仔鄉(xiāng)逼發(fā)汞葦搗壕的佐腸胸涕彌蛆停摟籬昏瓤芹尿箭宦巷垮挫峪壇憊盂良梨失嚴(yán)蹦無教霹哄顱午濘贊吠報(bào)塘嚨范倫級偶孝炙氯筷站翔厭團(tuán)癬頤滿嗜姑壕冕婪韌找菜烽補(bǔ)燈七迪貓圖景瘍居躬旦擠釉賭偷僥歇徊泄藝歸啞窄鈾嫂兌躬升矚摹溺喂兔

4、鹿肄豹蔬頤忽艱抒娃膘朵戮輥婉蔽爸首售屈碩 士 學(xué) 位 論 文(2012屆)android手機(jī)平臺上中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)the design and implementation of chinese input method based on on android system研究生姓名 指導(dǎo)教師姓名 專業(yè)名稱 計(jì)算機(jī)技術(shù) 研究方向 中文信息處理 論文提交日期 2012年4月 蘇州大學(xué)學(xué)位論文獨(dú)創(chuàng)性聲明及使用授權(quán)聲明學(xué)位論文獨(dú)創(chuàng)性聲明本人鄭重聲明:所提交的學(xué)位論文是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不含其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的研究成果

5、,也不含為獲得蘇州大學(xué)或其它教育機(jī)構(gòu)的學(xué)位證書而使用過的材料。對本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人承擔(dān)本聲明的法律責(zé)任。研究生簽名: 日 期: 學(xué)位論文使用授權(quán)聲明蘇州大學(xué)、中國科學(xué)技術(shù)信息研究所、國家圖書館、清華大學(xué)論文合作部、中國社科院文獻(xiàn)信息情報(bào)中心有權(quán)保留本人所送交學(xué)位論文的復(fù)印件和電子文檔,可以采用影印、縮印或其他復(fù)制手段保存論文。本人電子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。除在保密期內(nèi)的保密論文外,允許論文被查閱和借閱,可以公布(包括刊登)論文的全部或部分內(nèi)容。論文的公布(包括刊登)授權(quán)蘇州大學(xué)學(xué)位辦辦理。研究生簽名: 日 期: 導(dǎo)師簽名: 日 期:

6、android手機(jī)平臺上中文輸入法設(shè)計(jì)和實(shí)現(xiàn)中文摘要伴隨著手持通信設(shè)備的日益普及和短信、微博等應(yīng)用的廣泛使用,人們越來越多地依賴于這些設(shè)備進(jìn)行文字信息輸入和處理。如何快速準(zhǔn)確地利用手持式設(shè)備輸入文字信息,特別是中文信息,對中國人而言有利于重要。首先,本文介紹了andriod的主要組件和系統(tǒng)框架等內(nèi)容,并分析了當(dāng)今移動平臺上的主流漢字輸入法的優(yōu)缺點(diǎn)。其次,本文以縱橫輸入法為例介紹了在android平臺下的碼本的設(shè)計(jì)和檢索技術(shù),包括字詞碼本結(jié)構(gòu)的設(shè)計(jì)、索引方式的設(shè)計(jì)、聯(lián)想功能的實(shí)現(xiàn)、碼本的存儲以及輸入法具體的檢索流程。最后,本文全面分析了android系統(tǒng)平臺的輸入法框架,對該框架的組成、流程、生

7、命周期以及一些所需實(shí)現(xiàn)的類和函數(shù)等進(jìn)行了詳細(xì)的闡述。在此基礎(chǔ)上,在andriod平臺上設(shè)計(jì)并實(shí)現(xiàn)了縱橫輸入法,并介紹了其實(shí)現(xiàn)技術(shù)。對實(shí)例輸入系統(tǒng)的測試表明,該系統(tǒng)已達(dá)到了實(shí)用水平,并已經(jīng)有了一定規(guī)模的用戶群。關(guān)鍵詞:輸入法、android、碼本、輸入架構(gòu)作 者: 指導(dǎo)老師: the design and implementation of chinese input method based on android systemabstractwith the widespread use of the increasing popularity of handheld communicatio

8、ns mobile devices, and increasing popularity of short message, microblogging and other mobile applications, the requirement of inputting and processing text information, especially the chinese information for us, on mobile devices is recreasing rapidly. the people increasingly rely on these devices

9、for inputting and processing text information.it is important for chinese people to input text information, especially the chinese information, quickly and accurately with handheld devices.firstly, this desertatione article describes the main components and systems framework of the andriod, and then

10、 analyzes the advantages and disadvantages of the popular chinese input methods on today'sall kinds of mobile platforms.secondly, this articleit using uses the example of ckc input method as a sample to describes the design of code bookthe relation table between codes and their chinese character

11、s or phrases and the retrieval technologymethod on the android platform, including the structure design of code bookthe relation table, the design of indexing, the implement of association functions, the storage of the relation tablecode book, and specific retrieval processes of the input method. fi

12、nally, the articleit shows a comprehensive analysis analyzes theof 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 basis, author it designedes an

13、d realizeds the ckc input method on the andriod platform, and introduces its implemention technology.tests of on the ckc input system on the android platform show that the our system has reached a very practical level. iand it already has been used on some extent.key words: chinese input method; and

14、roid; 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)提出了一個(gè)適合android平臺的輸入法碼本設(shè)計(jì)方案72)分析了android輸入法框架,設(shè)計(jì)了一個(gè)基于android平臺的輸入系統(tǒng)73)介紹了android平臺輸入系統(tǒng)的實(shí)現(xiàn)技術(shù)81.3 論文組織8第二章 相關(guān)工作基礎(chǔ)92.1 android平臺92.1.

15、1 android平臺簡介92.1.2 android 平臺框架102.1.3 android 平臺開發(fā)環(huán)境搭建112.2 縱橫輸入法132.2.1 縱橫輸入法簡介132.2.2 縱橫輸入法優(yōu)點(diǎn)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è)計(jì)213.1 碼本特點(diǎn)213.2 字碼本結(jié)構(gòu)213.3 詞碼本結(jié)構(gòu)223.4 聯(lián)想與碼本存儲243.5 檢索過程243.6 本章小結(jié)25第四章 an

16、droid平臺下輸入法的設(shè)計(jì)與實(shí)現(xiàn)264.1 中文輸入法的設(shè)計(jì)264.1.1 邏輯處理設(shè)計(jì)264.1.2 鍵盤界面設(shè)計(jì)274.1.3 候選字詞界面設(shè)計(jì)294.1.4 消息流轉(zhuǎn)設(shè)計(jì)294.1.5 候選字詞查找設(shè)計(jì)304.2 中文輸入法的實(shí)現(xiàn)324.2.1 鍵盤布局的實(shí)現(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 標(biāo)點(diǎn)

17、符號輸入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è)運(yùn)行狀況,數(shù)據(jù)顯示,2011年1月,全國電話用戶總數(shù)達(dá)到11.64億戶,其中移動電話用戶凈增1072.0萬戶,達(dá)到8.7億戶1。手機(jī)終端功能的多樣化和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,也使手機(jī)的使用越來越普遍。而飛速增長的移動電話市場,同時(shí)也促進(jìn)了移動產(chǎn)業(yè)價(jià)值鏈各個(gè)環(huán)節(jié)的共同發(fā)展,這其中就包括了網(wǎng)絡(luò)運(yùn)營商、網(wǎng)絡(luò)設(shè)備制造商、終端廠商乃至內(nèi)容提供商

18、等。伴隨著手持通信設(shè)備的日益普及,人們越來越多地依賴于通過這些設(shè)備進(jìn)行信息處理和交流,因此如何快速準(zhǔn)確地向手持式設(shè)備輸入文字信息成為當(dāng)今信息領(lǐng)域研究的熱點(diǎn)之一。目前,手持通信設(shè)備使用的輸入法主要為:數(shù)字鍵盤輸入法、手寫輸入法以及全鍵盤輸入法。由于手持設(shè)備本身硬件的限制,數(shù)字鍵盤輸入法成為手機(jī)中最常用的輸入法,然而現(xiàn)在,我國數(shù)字鍵盤漢字輸入的技術(shù)和市場主要被外國壟斷,90%以上的手機(jī)嵌入的漢字輸入法技術(shù)使用的是國外技術(shù)和專利,我們使用的每臺手機(jī)都必須給外國公司支付超過0.3美元的漢字輸入技術(shù)專利費(fèi),僅此一項(xiàng),每年就要支付幾億元人民幣。目前,美國的t9輸入法和加拿大字源(ezitext)輸入法約占

19、我國手機(jī)數(shù)字鍵盤輸入法市場的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ù)成本,同時(shí)為國家節(jié)省大筆外匯。在這種背景下,信息產(chǎn)業(yè)部在2007年便公布了相應(yīng)的技術(shù)標(biāo)準(zhǔn)用于規(guī)范數(shù)字鍵盤漢字輸入技術(shù),通過技術(shù)標(biāo)準(zhǔn)的制定和實(shí)施,促進(jìn)數(shù)字鍵盤漢字輸入技術(shù)進(jìn)步3。國內(nèi)也陸續(xù)推出了自己的輸入法,例如由廣東國筆科技有限公司推出的國筆智能輸入法,騰凌智能數(shù)字

20、鍵盤中文輸入法等。然而,國外手機(jī)數(shù)碼輸入法已經(jīng)占據(jù)了非常大的市場份額,以及國產(chǎn)漢字輸入技術(shù)的相對還不是很成熟,國產(chǎn)手機(jī)數(shù)碼輸入法的發(fā)展仍有很艱巨的道路要走。本文所討論的輸入法為基于筆形的數(shù)碼輸入技術(shù),此方法具有簡、繁通用的特點(diǎn)。智能輸入技術(shù)的引入極大地提高了漢字輸入系統(tǒng)的性能,最早該技術(shù)被拼音輸入法用來解決由于同音字引起的重碼問題,接著又被用來簡化用戶輸入,后來又被用來適應(yīng)不同用戶的輸入習(xí)慣,本文討論如何將智能輸入技術(shù)和中文輸入技術(shù)結(jié)合起來,以實(shí)現(xiàn)輸入法動態(tài)自適應(yīng)的輸入。以往,手機(jī)操作系統(tǒng)不開放編程接口,不支持第三方軟件的開發(fā)。隨著手機(jī)市場的競爭日益強(qiáng)烈以及手機(jī)終端功能的不斷增強(qiáng),越來越多的手

21、機(jī)操作系統(tǒng)開放接口以便支持第三方軟件的開發(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%??梢?,android系統(tǒng)的發(fā)展勢頭非常好,在國內(nèi)手機(jī)操作系統(tǒng)市場份額必將領(lǐng)先其他,因此本文將android系統(tǒng)作為縱橫輸入法的目標(biāo)實(shí)現(xiàn)平臺。對于本課題的實(shí)現(xiàn),有如下意義:² 將智能輸入技術(shù)進(jìn)一步應(yīng)用與手機(jī)輸入系統(tǒng)中,便于適應(yīng)用戶的輸入習(xí)慣,提高了用戶輸入漢字的速度。² 利于促進(jìn)國內(nèi)數(shù)碼漢字輸入技

22、術(shù)的進(jìn)步,提高國產(chǎn)輸入法在市場中的競爭力。² 對于各種輸入法向手持設(shè)備上的移植具有借鑒意義。1.3 研究現(xiàn)狀如今,智能移動設(shè)備正處于高速發(fā)展的階段。產(chǎn)品價(jià)格的不斷合理化,也大力推動了智能手機(jī)的普及。它的發(fā)展同時(shí)也帶動了其相關(guān)軟件產(chǎn)品的發(fā)展,漢字輸入法軟件就是其中之一,因?yàn)樗窍驖h字用戶推廣智能手機(jī)產(chǎn)品的必要前提4。1.3.1移動手機(jī)平臺發(fā)展現(xiàn)狀早期手機(jī)由于功能單一且用途簡單,故其硬件設(shè)備也簡單,針對不同硬件設(shè)備開發(fā)的相應(yīng)的手機(jī)操作系統(tǒng)成本較(手機(jī)中文輸入法的設(shè)計(jì)與實(shí)現(xiàn))低5。但隨著手機(jī)功能逐漸的綜合化和復(fù)雜化,軟硬件成本逐漸增加,人們開始開發(fā)一些符合某些硬件標(biāo)準(zhǔn)的手機(jī)的操作系統(tǒng),既可

23、以方便用戶使用,也大大降低了手機(jī)生產(chǎn)的軟件成本。智能手機(jī)也自此應(yīng)運(yùn)而生。2005年以后,智能手機(jī)更是飛速發(fā)展,改變了人們的生活方式。智能手機(jī)具有五大特點(diǎn):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(個(gè)人信息管理)、多媒體應(yīng)用、瀏覽網(wǎng)頁、日程記事等;4、功能強(qiáng)大,擴(kuò)展性強(qiáng),第三方支持多;5、人性化,可以根據(jù)個(gè)人需要擴(kuò)展及其功能24。目前主要的手機(jī)智能操作系統(tǒng)包括:symbian、android、windows phone、ios

24、、palm os、linux等24。1. symbiansymbian是由幾家大型移動通訊設(shè)備商(諾基亞、摩托羅拉、三菱、愛立信及psion等)共同出資成立的一家合資公司,專門用于研發(fā)手機(jī)操作系統(tǒng)(symbian os)7,其目標(biāo)是開發(fā)一種開放性的操作系統(tǒng),使其能在手機(jī)及其他一些移動設(shè)備上運(yùn)行。2008年symbian被諾基亞全額收購。symbian是一套相當(dāng)成熟的操作系統(tǒng),具有強(qiáng)大的開放性和較低的研發(fā)成本,被授權(quán)的開發(fā)商能更自由的研發(fā)第三方軟件,利潤也是相當(dāng)豐厚;運(yùn)行環(huán)境穩(wěn)定安全,效率也相當(dāng)高,界面靈活簡單,用戶體驗(yàn)相當(dāng)友好,因此也穩(wěn)坐智能手機(jī)市場冠軍相當(dāng)長一段時(shí)間。不過,symbian也有

25、一些致命的缺點(diǎn),直接導(dǎo)致了后來的失敗結(jié)局。例如:一、symbian機(jī)型的硬件配置普遍較低,各類機(jī)型所采用的屏幕分辨率和處理器主頻都比較低,雖然系統(tǒng)可以獲得較高的處理效能,但是在多媒體等方面表現(xiàn)仍然不盡如人意。二、在多媒體方面,symbian os對主流的媒體格式的支持性較差。三、雖然symbian os為了適應(yīng)不同的人群和各類的需要而采用了多種平臺,但這也成為了symbian發(fā)展一個(gè)障礙。每個(gè)平臺之間的第三方軟件不能相互兼容,軟件開發(fā)商專注于單一平臺,而減少了各個(gè)平臺通用的軟件個(gè)數(shù),給用戶帶了很多不便。四、版本之間兼容性較差,每個(gè)新的版本的symbian發(fā)布并且產(chǎn)品上市之后,很多軟件要開發(fā)商通

26、過開發(fā)新的版本跟進(jìn),才能繼續(xù)使用。五、對細(xì)節(jié)的注意不是很夠。由于symbian只提供廠商一個(gè)內(nèi)核及ui,很多細(xì)節(jié)功能是需要手機(jī)廠商進(jìn)行添加的。而很多手機(jī)廠商重點(diǎn)放在了多功能及綜合的性能等多方面,忽略了基本功能,以至于一些機(jī)型的鬧鐘功能都必須由第三方軟件來實(shí)現(xiàn),給不熟悉系統(tǒng)的用戶帶來了很多困難。2. androidandroid是google于2007年11月5日提出的基于linux平臺的開源手機(jī)操作系統(tǒng)的名稱,號稱是首個(gè)為移動終端打造的真正開放的和完整的移動軟件。android系統(tǒng)主要廠商包括美國摩托羅拉、韓國的三星、英國的索尼愛立信還有很多的中國廠商,例如:htc、聯(lián)想、華為、中興等,使之躍

27、居全球最受歡迎的智能手機(jī)平臺,android系統(tǒng)不但應(yīng)用于智能手機(jī),也在平板電腦市場急速擴(kuò)張。據(jù)市場調(diào)研公司尼爾森發(fā)布統(tǒng)計(jì)數(shù)據(jù)稱,2010年第二季度谷歌android手機(jī)在美國的銷量首次超過了蘋果iphone,這也讓諸多業(yè)內(nèi)人士直呼未來是android的8。3. iosios是蘋果公司為iphone、ipod touch以及ipad開發(fā)的操作系統(tǒng)。ios有用戶界面相當(dāng)友好,操作也很方便,系統(tǒng)性能穩(wěn)定,豐富的第三方軟件資源、服務(wù)也很完善等很多優(yōu)點(diǎn)。但是它的缺點(diǎn)也是相當(dāng)?shù)亩?,如:一、系統(tǒng)內(nèi)核源代碼完全封閉的,并且只有獲得蘋果公司的授權(quán)的第三方軟件開發(fā)者才能開發(fā)ios軟件。并且較多的開發(fā)平臺限制也增

28、加了第三方開發(fā)者的研發(fā)成本。二、其第三方軟件中,大部分是付費(fèi)軟件。三、搭載ios系統(tǒng)的蘋果產(chǎn)品價(jià)格較為昂貴,讓大部分消費(fèi)者望而卻步。所以致使其被之后的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)免費(fèi)開放源代碼,國內(nèi)外很多公司致力于linux操作系統(tǒng)和應(yīng)用軟件的開發(fā)10。其優(yōu)勢表現(xiàn)為以下幾點(diǎn)11:a、 應(yīng)用于智能手機(jī)上linux操作系統(tǒng)和應(yīng)用與電腦上的linux操

29、作系統(tǒng)是同一個(gè)系統(tǒng),而且全都是是免費(fèi)操作系統(tǒng)。在操作系統(tǒng)上免費(fèi)就等于節(jié)省了產(chǎn)品的生成成本。b、 linux操作系統(tǒng)系統(tǒng)資源占有率較低,而且性能比較穩(wěn)定12,如果linux平臺的系統(tǒng)資源占用程度,比體積龐大的windows mobile小的多。c、 linux操作系統(tǒng)與java相互融合,是任何一個(gè)操作系統(tǒng)所不能比擬的,linux+java的應(yīng)用方式,能夠給用戶極大的拓展空間。不過linux也有很多天生的缺點(diǎn),例如:a、 入門難度高、熟悉其開發(fā)環(huán)境的工程師少、集成開發(fā)環(huán)境不夠完善。b、 由于微軟pc操作系統(tǒng)源代碼不公開,基于linux的產(chǎn)品很難與pc進(jìn)行連接。c、 從事linux操作系統(tǒng)開發(fā)的公司

30、雖然多,但缺乏開發(fā)實(shí)力較強(qiáng)的公司,并且這些公司相互獨(dú)立開發(fā)難以實(shí)現(xiàn)重大突破。因此linux也很難搶占移動市場份額。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 os

31、palm是palm公司開發(fā)的一種32位嵌入式操作系統(tǒng),主要應(yīng)用于掌上電腦,其對硬件要求不高,使得采用palm系統(tǒng)的設(shè)備體積較小巧,電池續(xù)航長24。palm系統(tǒng)不但占用系統(tǒng)資源少,硬件要求不高,電池壽命長,而且系統(tǒng)簡單易用,采用了觸控的操作界面,一個(gè)觸控筆可以完成幾乎所有操作,十分方便攜帶。不過它也有很多不完善的地方,如缺少一些常用基本功能,比如通訊功能和多媒體功能,中文產(chǎn)品也相對較少。1.3.2手機(jī)輸入法發(fā)展現(xiàn)狀文字輸入方式根據(jù)設(shè)備終端所采用的硬件,可分為數(shù)字鍵盤、全鍵盤及手寫輸入三大類2413。早期的手機(jī)漢字輸入法,用手機(jī)數(shù)字鍵29分別代表26個(gè)英文字母,如數(shù)字鍵2代表“abc”三個(gè)字母14

32、15;在輸入時(shí),輸入2代表a,22代表b,222代表c。所以在輸入拼音的時(shí)候需要一一選擇需要的字母來組成拼音,然后根據(jù)拼音來選擇需要的文字。這種輸入法效率十分低的15。目前數(shù)字鍵盤輸入法雖然種類繁多,但主要市場份額基本上被t9、itap和字能(ezi)這三種輸入法所占領(lǐng)101617,其他輸入法的市場份額極少。這三款數(shù)字鍵盤輸入軟件,均提供拼音、筆畫、注音(臺灣地區(qū))三種輸入方式10。t9輸入法全稱t9智能輸入法,該輸入法是由語音技術(shù)、文字輸入和圖像解決方案提供商nuance通訊公司開發(fā)的418,目前占有率最高。t9輸入法是針對移動小型終端的文字輸入解決方案,以輸入字符高效快捷而著稱19。t9的

33、中文輸入包括簡體中文和繁體中文,輸入方式包括筆畫、拼音以及注音。目前已支持漢語、英語、法語德語、意大利語等44種語言,中文字庫容量達(dá)9000多字17 19。字能輸入法20是由總部設(shè)在加拿大的字源咨詢技術(shù)有限公司和愛立信合作推出的。此輸入法具有20902個(gè)漢字的高容量字庫,是t9輸入法字庫的兩倍多。該輸入法主要被早起的愛立信、阿爾卡特以及一些國產(chǎn)手機(jī)如聯(lián)想等采用。該輸入法支持拼音和筆畫兩種中文簡體輸入方式,兩種輸入方式都具有聯(lián)想功能15。itap輸入法全稱itap智能按鍵輸入法,是摩托羅拉經(jīng)過潛心研究,在t9的基礎(chǔ)上發(fā)展起來的。摩托羅拉在美國加州設(shè)有專門的研究所,不斷地對itap輸入法軟件字庫進(jìn)

34、行更新,輸入法軟件支持20多種語言21,支持語言的種類比其他輸入法軟件都多。該輸入法還能夠根據(jù)最常用的聲、韻母組合和最頻繁使用的文字統(tǒng)計(jì)、聲調(diào)和詞語聯(lián)想等先進(jìn)技術(shù),實(shí)現(xiàn)簡便、快捷的輸入17。國內(nèi)比較知名的手機(jī)輸入法開發(fā)廠商主要有電訊、a4、搜狗和騰訊418,前兩家都是專門從事手機(jī)輸入法開發(fā)的廠商,目前它們分別被百度和騰訊收購。因?yàn)閲鴥?nèi)對中文的理解更深,也更加了解中文的輸入習(xí)慣,實(shí)際上國產(chǎn)輸入法在性能上不遜色于或優(yōu)于海外輸入法4。拼音輸入法比目前國外同類技術(shù)快29%至41%,筆畫輸入法比國外同類技術(shù)快40%至51%,音形組合輸入法比國外輸入法快近70%422。由于手機(jī)設(shè)備大部分是海外生產(chǎn)的,直接

35、捆綁了海外的輸入法,導(dǎo)致了國內(nèi)輸入法難以提高占有率,打開市場。不過隨著手機(jī)系統(tǒng)的不斷開放,例如android中完全開源的手機(jī)系統(tǒng)出現(xiàn)后,用戶可以自行安裝輸入法,國產(chǎn)輸入法將會得到迅猛的發(fā)展。1.3 本文工作1)提出了一個(gè)適合android平臺的輸入法碼本設(shè)計(jì)方案合理的碼本設(shè)計(jì)對于輸入法來說有著非常重要的作用 ,直接關(guān)系到輸入法的查詢性能、所需存儲空間等多個(gè)方面。一種輸入法,如果占用過多的存儲空間或者具有較差的輸入性能,均不利于用戶的使用。然而這兩個(gè)方面又是相互矛盾的,所以需要在輸入法的性能與資源占用之間進(jìn)行平衡。為了實(shí)現(xiàn)簡繁通用,本文輸入法采用了unicode編碼,并對碼本進(jìn)行了壓縮。本文編碼

36、方案所需要的文件包括字索引文件、字碼本文件、詞索引文件、詞碼本文件。本文詳細(xì)介紹了該編碼方案,并從碼本的結(jié)構(gòu)、索引的結(jié)構(gòu)以及輸入法根據(jù)輸入碼檢索碼本的具體流程,對該編碼方案進(jìn)行了詳盡的闡述。2)分析了android輸入法框架,設(shè)計(jì)了一個(gè)基于android平臺的輸入系統(tǒng)android手機(jī)系統(tǒng)平臺,自google公司2007年發(fā)布以來,以其開放性、硬件選擇的多樣性和對第三方開發(fā)商較少的限制等各種因素,已經(jīng)成為最流行的手機(jī)操作系統(tǒng)之一。本文詳細(xì)介紹了android平臺的各個(gè)功能組件以及平臺框架結(jié)構(gòu)等。而從android平臺1.5版本以后,google更是開放了android平臺輸入法框架(input

37、 method framework,imf),為android平臺的輸入法帶來了可擴(kuò)展性。為了能開發(fā)出android平臺下的輸入法,本文對android平臺的輸入法框架進(jìn)行了詳細(xì)的介紹。本文首先介紹了android輸入法的生命周期以及它的幾個(gè)重用組成部分,包括:輸入法服務(wù),輸入法應(yīng)用和客戶端。然后又重點(diǎn)介紹了輸入法應(yīng)用的幾個(gè)重要組成。最后還羅列了根據(jù)android平臺輸入法框架中需要實(shí)現(xiàn)的幾個(gè)重要的類以及幾個(gè)重要的函數(shù)接口和這些接口的簡要說明。3)介紹了android平臺輸入系統(tǒng)的實(shí)現(xiàn)技術(shù)根據(jù)對android平臺輸入法框架的分析,本文在android平臺上實(shí)現(xiàn)了一款新的漢字輸入法。本文首先從輸

38、入法的邏輯處理、鍵盤視圖設(shè)計(jì)、界面設(shè)計(jì)以及消息的流轉(zhuǎn)以及處理等多方面,詳細(xì)闡述了該輸入法的設(shè)計(jì)與實(shí)現(xiàn)的過程,其次又分析介紹了本文所設(shè)計(jì)的輸入法檢索碼本的具體流程。1.3 論文組織本文共分七章,論文的結(jié)構(gòu)和各個(gè)章節(jié)的主要內(nèi)容如下:第一章,為全文概述,首先介紹了課題的研究背景與意義以及本文的工作安排。第二章,介紹了與設(shè)計(jì)目標(biāo)相關(guān)的基礎(chǔ)工作,包括簡單介紹android平臺及其框架和android開發(fā)平臺的搭建,介紹縱橫輸入法的相關(guān)基礎(chǔ)知識,并分析其優(yōu)缺點(diǎn),最后還全面介紹了android手機(jī)平臺輸入法的生命周期及其重要組成部分等,羅列了android平臺輸入法框架中,所需實(shí)現(xiàn)的幾個(gè)重要類及接口。第三章

39、,介紹了縱橫輸入法碼本的特點(diǎn),并從字詞碼本結(jié)構(gòu)、索引結(jié)構(gòu)以及碼本檢索流程等多方面,對縱橫輸入法的編碼進(jìn)行了具體的描述。第四章,先從邏輯處理、鍵盤界面、候選字詞界面、消息流轉(zhuǎn)、以及候選字詞查找等多方面對該輸入法進(jìn)行了設(shè)計(jì)。然后從鍵盤的布局、輸入法的初始化、消息的捕獲與傳遞、消息的處理以及數(shù)據(jù)的查詢與反饋等多方面,詳細(xì)地介紹了android平臺上縱橫輸入法的實(shí)現(xiàn)流程。第五章,詳細(xì)介紹了該漢字輸入法的設(shè)置、安裝、使用與卸載。第六章,總結(jié)全文,并展望下一步的研究工作。第二章 相關(guān)工作基礎(chǔ)2.1 android平臺2.1.1 android平臺簡介隨著通信行業(yè)的快速發(fā)展,手機(jī)已經(jīng)成為人們生活中的必需品,

40、手機(jī)的功能也越來越完善4。目前主要的手機(jī)智能操作系統(tǒng)包括:symbian os, windows phone, linux, palm os 和 android23。由于操作系統(tǒng)的開放性、硬件選擇的多樣性和對第三方開發(fā)商較少的限制等因素,android系統(tǒng)已經(jīng)成為最流行的手機(jī)操作系統(tǒng)之一,具有很大的發(fā)展前景。android 本來的意思是機(jī)器人,同時(shí)它還是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)用程序,是首個(gè)為移動終

41、端打造的真正意義上的開放和完整的移動移動設(shè)備綜合平臺。google 重新設(shè)計(jì)了java 虛擬機(jī)和系統(tǒng),使得android 的java 應(yīng)用更接近于底層系統(tǒng),效率更高;另外使用虛擬機(jī)技術(shù)使得android 的應(yīng)用在被監(jiān)控的情況下運(yùn)行,安全性更高。與windows ce ,iphone os ,symbian 等不同,android 公開源代碼,支持第三方軟件的加入,消除了任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。正是由于其開放性,google android 手機(jī)能夠加載很多個(gè)性化的東西,比如防火墻、即時(shí)通信軟件、office閱讀器、輸入法等各種在電腦上安裝使用的軟件。無論是娛樂還是商業(yè)應(yīng)用,智能手

42、機(jī)的功能都能在強(qiáng)大的第三方軟件的支持下獲得無限的擴(kuò)展25。豐富的android 應(yīng)用也使其手機(jī)功能更加強(qiáng)大,這加速了電腦與手機(jī)的融合,也加速了后pc 時(shí)代的到來。android操作系統(tǒng)應(yīng)用了開源社區(qū)的很多優(yōu)秀成果,并做了大量的優(yōu)化和豐富的擴(kuò)充。android操作系統(tǒng)主要包含了以下功能組件26:1. 經(jīng)google 針對移動設(shè)備剪裁和優(yōu)化的linux 內(nèi)核。2. 由google 重新實(shí)現(xiàn)的java 虛擬機(jī) dalvik vm。3. 大量的函數(shù)庫和服務(wù),如瀏覽器引擎webkit ,數(shù)據(jù)庫 sqlite。4. 常用的應(yīng)用程序,如撥號程序和通訊錄等。5. 一套完整的sdk(software devel

43、opment kit ),提供了使用java語言進(jìn)行android應(yīng)用開發(fā)的api 類庫和工具集(包括android 模擬器和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ī)層以及l(fā)inux內(nèi)核層 2

44、7。1. linux 內(nèi)核層位于硬件和其它軟件層之間,采用yaffs2 文件系統(tǒng)28,是基于linux version 2.6內(nèi)核來開發(fā)的,包含了虛擬cpu 和android 運(yùn)行所需要的特定的驅(qū)動代碼,主要作用為提供系統(tǒng)的如安全管理、內(nèi)存機(jī)制、進(jìn)程管理等底層服務(wù),為系統(tǒng)運(yùn)行提供基礎(chǔ)性的支持30。2. android 運(yùn)行時(shí)庫和其他庫層,包含一組核心庫和dalvik 虛擬機(jī),核心庫存為android 提供了大部分java語言核心庫。android具有豐富的庫類支持且大部分為開源代碼,如sqlite 、webkit 、opengl等,例如sqlite數(shù)據(jù)庫,體積小只有250kb但支持?jǐn)?shù)據(jù)庫大小至

45、2tb,提供了對事務(wù)功能和并發(fā)處理的支持,而且比目前流行的大多數(shù)數(shù)據(jù)庫運(yùn)行速度快29。該層可以通過java本地調(diào)用jni(java native interface)的接口函數(shù)來實(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è)計(jì),大大簡化了組件之間的重用,提高了開發(fā)者的開發(fā)效率。應(yīng)用框架層為開發(fā)者提供了大量的組件和服務(wù),如:豐富和可擴(kuò)展的視圖、內(nèi)容提供器、資源管

46、理器、通知管理器、活動管理器和位置管理器等。4. 應(yīng)用層包含了android本身的一些核心應(yīng)用程序,例如郵件客戶端,短信程序,日歷程序,地圖,瀏覽器,通訊錄等等,還有一些基于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 是an

47、droid development tools 的縮寫,它是集成到eclipse 上的一個(gè)插件,能夠提供一個(gè)強(qiáng)大的集成開發(fā)環(huán)境來開發(fā)android 應(yīng)用。搭建android開發(fā)平臺的流程如下:1. 軟件準(zhǔn)備a、 進(jìn)入java官網(wǎng)( )頁面下載jdk1.6+;b、 進(jìn)入eclipse官網(wǎng)(/downloads/ )下載eclipse 3.3(europa); c、 進(jìn)入google android 官網(wǎng)( )下載android sdk;2. 安裝集成平臺和配置java環(huán)境變量a、 安裝jdk 并配置好java 環(huán)境變量b、 安裝eclipse將下載的ec

48、lipse壓縮包解壓到相應(yīng)的安裝目錄即可。3. 配置android 平臺開發(fā)環(huán)境a、 安裝android development tools (adt )插件啟動eclipse ,如果是eclipse3.5 或eclipse3.6 選擇help ->install new software. ,點(diǎn)擊add ,如果eclipse3.4及以下版本菜單是help ->software updates. ,點(diǎn)擊add site 準(zhǔn)備安裝插件。在location 中輸入android adt插件在線下載地址:https:/dl- ,點(diǎn)擊ok按鈕就可以下載安裝了。b、 應(yīng)用android sd

49、k到eclipse在eclipse 工具欄中,選擇:window -> preferences.左邊菜單中選中android,在右邊瀏覽框中選擇sdk的解壓目錄作為 sdk location,點(diǎn)擊apply ,然后點(diǎn)擊ok按鈕即可。為了便于模擬和測試應(yīng)用程序,android sdk自帶一個(gè)移動模擬設(shè)備可以在電腦上運(yùn)行的虛擬設(shè)備。模擬器允許開發(fā)者開發(fā)的應(yīng)用程序通過android 平臺服務(wù),調(diào)用其他程序、訪問網(wǎng)絡(luò)、播放音頻和視頻、保存和接收數(shù)據(jù)、通知用戶、渲染圖像過渡和場景等功能。通過eclipse的“窗體”(windows)菜單->“android虛擬設(shè)備管理器”(android a

50、vd manager)進(jìn)入android虛擬設(shè)備管理界面,然后點(diǎn)擊“new”按鈕彈出創(chuàng)建avd對話框,在該窗口中添加name(avd名稱)、target(android版本指定)、sdk大小和外觀特征,即可完成對android模擬器的創(chuàng)建工作。通過eclipse的“窗體”(windows)菜單->“android虛擬設(shè)備管理器”(android avd manager)進(jìn)入android虛擬設(shè)備管理界面,選擇要啟動的emulator,然后點(diǎn)擊“start”按鈕,進(jìn)入emulator啟動界面,點(diǎn)擊“l(fā)aunch”按鈕,完成所選模擬器的啟動后,即可進(jìn)行相關(guān)模擬測試程序。2.2 縱橫輸入法2.

51、2.1 縱橫輸入法簡介縱橫輸入法是由香港蘇浙同鄉(xiāng)會主席周忠繼先生所發(fā)明,由蘇州大學(xué)縱橫漢字信息技術(shù)研究所研制。經(jīng)過多年不斷地完善,在北京、上海、江蘇、浙江、廣東、海南、香港、澳門等地大受歡迎。 在縱橫碼中根據(jù)漢字的字形,采用0到9十個(gè)數(shù)字對漢字進(jìn)行編碼??v橫碼中規(guī)定了十種基本筆形,分別用0到9十個(gè)數(shù)字對其進(jìn)行編碼。 一個(gè)漢字的基本編碼方法為:將漢字看成一個(gè)方塊字,取漢字四個(gè)角的筆形代碼作為一個(gè)漢字的編碼,輸入法規(guī)定單字的輸入碼最多為四個(gè)數(shù)字,最少為一個(gè)數(shù)字。 詞組的輸入碼根據(jù)組成詞組的單字的輸入碼來取,詞組的輸入碼最多為六個(gè)數(shù)字,最少為一個(gè)數(shù)字。 2.2.2 縱橫輸入法優(yōu)點(diǎn)現(xiàn)在手機(jī)上

52、較有影響力的輸入法有筆畫類輸入法和拼音類輸入法。 拼音輸入法雖然易學(xué)卻很難普及,不適合普通話不標(biāo)準(zhǔn)不熟悉漢語拼音者學(xué)習(xí),在方言地區(qū)推廣就更困難。 一般的筆畫類輸入法又存在重碼率高,詞庫較小、標(biāo)點(diǎn)符號輸入不方便、輔助用戶使用功能較弱等缺點(diǎn),影響用戶輸入效率。 縱橫輸入法克服了以上幾種輸入法的缺點(diǎn),詞庫很大、標(biāo)點(diǎn)符號輸入方便。采用gbk大字符集,既支持簡體字輸入又支持繁體字輸入,具有簡單易學(xué)、簡繁通用、詞組豐富、功能強(qiáng)大,標(biāo)點(diǎn)符號輸入方便,還可以對重碼字詞進(jìn)行調(diào)頻,具有輔助用戶使用等優(yōu)點(diǎn)32。2.3 輸入法框架介紹2.3.1 輸入法框架簡介自android平臺1.5版本以后,google開放了an

53、droid平臺輸入法框架(input method framework,imf),imf是android平臺的特色設(shè)計(jì)。它的出現(xiàn)大大推動了不帶實(shí)體鍵盤的設(shè)備的誕生。同時(shí),android平臺輸入法框架也給出了輸入法的開發(fā)所需要的接口,為android平臺的輸入法提供了可擴(kuò)展性。2.3.2 輸入法框架組成一個(gè)輸入法框架結(jié)構(gòu)中包含三個(gè)主要的部分:輸入法服務(wù),負(fù)責(zé)管理各部分的交互,管理輸入法應(yīng)用,其中包括輸入法的安裝、注冊、激活等。主要工作由inputmethdomanagerservice(imms)完成。它是一個(gè)客戶端api,存在于各個(gè)應(yīng)用程序的上下文(context)中,用來溝通管理所有進(jìn)程間交

54、互的全局系統(tǒng)服務(wù)。輸入法應(yīng)用 ,具體處理用戶輸入行為的應(yīng)用程序,實(shí)現(xiàn)一個(gè)允許用戶生成文本的獨(dú)立交互模塊。系統(tǒng)綁定一個(gè)當(dāng)前的輸入法。使其創(chuàng)建和生成,決定輸入法何時(shí)隱藏或者顯示它的ui。同一時(shí)間只能有一個(gè)輸入法應(yīng)用運(yùn)行。為了能夠在android的輸入法框架中良好的運(yùn)行,所有的輸入法應(yīng)用都需要繼承特定的服務(wù)。客戶端,是指具有文字編輯功能的系統(tǒng)控件(如edittext),是平臺內(nèi)部輸入法應(yīng)用人機(jī)交互的起點(diǎn),是用戶與輸入法應(yīng)用進(jìn)行交互的渠道??蛻舳丝丶c輸入法服務(wù)和輸入法應(yīng)用都有交互操作。當(dāng)客戶端控件接受到焦點(diǎn)時(shí),控件啟動輸入法應(yīng)用并顯示鍵盤;而失去焦點(diǎn)時(shí),則隱藏鍵盤。同時(shí)能夠傳遞控件狀態(tài),接受并顯示輸

55、入法應(yīng)用反饋的輸入文字??蛻舳送ㄟ^輸入法管理器控制輸入焦點(diǎn)和ime的狀態(tài)。一次只能有一個(gè)客戶端使用輸入法。輸入法整體框架圖2.2所示。圖2.2 輸入法的總體框架2.3.3 輸入法應(yīng)用組成android 平臺的輸入法框架(input method framework,imf)中,最主要的是輸入法應(yīng)用(inputmethodservice),他繼承于abstract input methodservice 。inputmethodservice主要由以下幾個(gè)組件構(gòu)成,其中包括完成輸入法的相關(guān)ui,和文字的輸出:1. 軟鍵盤視圖(soft input view)這是軟鍵盤的輸入?yún)^(qū)域,主要完成在觸摸屏

56、下和用戶的交互輸入。oncreateinputview()被調(diào)用來進(jìn)行軟鍵盤視圖的實(shí)例化;onevaluateinputviewshown() 決定是否顯示軟鍵盤視圖;當(dāng)狀態(tài)改變的時(shí)候,調(diào)用updateinputviewshown()來重新決策是否顯示軟鍵盤視圖。2. 候選字視圖(candidates view)candidates view也是輸入法中一個(gè)相當(dāng)重要的組件。當(dāng)用戶輸入字符的時(shí)候,顯示相關(guān)的列表。停止輸入的時(shí)候,有會自動消失。oncreatecandidatesview()來實(shí)例化自己的輸入法。和軟鍵盤視圖不同的是,候選字視圖對整個(gè)ui布局不會產(chǎn)生影響。setcandidatesviewshown(boolean) 用來設(shè)置是否顯示候選字視圖。3. 輸出字符字符的輸出是inputmethodservice最核心的功能,輸入法通過 inputconnection 從imf來獲得字符輸出。并且通過不同的編輯器(editor)類型來獲取相應(yīng)的支持。通過 onfinishinput()和onstartinput(editorinfo, boolean )方法來進(jìn)行輸入目標(biāo)的切換。 另外,oninitializeinte

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論