【正文】
采用哈希索引按照字典序?qū)γ恳粋€索引碼建立一個索引項。 I) 字索引 字索引是輸入碼到漢字的紐帶,能從索引項中得到符合某一輸入碼的漢字在字碼本中的位置。然而這兩個方面又是相互矛盾的,所以需要在輸入法的性能與資源占用之間進行平衡。 最后,本章 系統(tǒng)地介紹了 Android 平臺的輸入法框架。 Android 的輸入法 服務(wù) ,通過一些接口函數(shù)與系統(tǒng) 進行 交互,在這些接口中,主要接口是 InputMethodService 。 負責顯示軟鍵盤上面的那個候選區(qū)域 。圖 便為 Android 輸入法生命周期。應(yīng)用程序通常不自己使用本接口,而是依靠 TextView 和 EditText 等 提供的標準 進行 交互 。 客戶端 不可直接訪問輸入法程序, 只可 以通過某些輸入控件 訪問 InputMethodSession 接口。 圖 輸入法消息流轉(zhuǎn) Android 手機平臺上中文輸入法設(shè)計和實現(xiàn) 第二章 相關(guān)工作基礎(chǔ) 17 InputConnection 接口 是 輸入法框架( IMF) 里面一個重要的接口, 它 實現(xiàn) 了BaseInputConnection 和 InputConnectionWrapper 上層的接口 , 主要用于應(yīng)用程序和InputMethod 之間通信的通道 ,可以 實現(xiàn) 包括 讀取 光 標周圍的輸入,向文本框中輸入文本以及給應(yīng)用程序發(fā)送各種按鍵事件 。 另外, onInitializeInterface()用于 InputMethodService 在執(zhí)行的過程中配置的改變; onBindInput()切換一個新的輸入通道; onStartInput(EditorInfo, boolean)處理一個新的輸入。setCandidatesViewShown(boolean) 用來設(shè)置是否顯示 候選字視圖 。當用戶輸入字符的時候,顯示相關(guān)的列表。 用 戶客 戶 端輸 入 法 服 務(wù) 輸 入 法 應(yīng) 用數(shù) 據(jù) 文 件 圖 輸入法的總 體框架 輸入法應(yīng)用組成 Android 平臺的輸入法框架( Input Method Framework, IMF)中, 最主要的是 輸入法應(yīng)用( InputMethodService) ,他繼承于 Abstract Input MethodService 。同時能夠傳遞控件狀態(tài), 接受并顯示輸入法應(yīng)用反饋的輸入文字 。 為了能夠在 Android 的輸入法框架中良好的運行,所有的輸入法應(yīng)用都需要繼承特定的 服務(wù)。 輸入法 應(yīng)用 , 具體處理用戶輸入行為的應(yīng)用程序 , 實現(xiàn)一個允許用戶生成文本的獨立交互模塊。同時, Android 平臺輸入法框架也給出 了輸入法的開發(fā)所需要的 接口,為 Android 平臺的輸入法提供了可擴展性。 第二章 相關(guān)工作基礎(chǔ) Android 手機平臺上中文輸入法設(shè)計和實現(xiàn) 14 縱橫輸入法克服了以上幾種輸入法的缺點, 詞庫很大、標點符號輸入方便 。 詞組的輸入碼根據(jù)組成詞組的單字的輸入碼來取,詞組的輸入碼最多為六個數(shù)字,最少為一個數(shù)字。經(jīng)過多年不斷地完善,在北京、上海、江蘇、浙江、廣東、海南、香港、澳門等地大受歡迎。模擬器允許開發(fā)者開發(fā)的應(yīng)用程序通過 Android 平臺服務(wù),調(diào)用其他程序、訪問網(wǎng)絡(luò)、播放音頻和視頻、保存和接收數(shù)據(jù)、通知用戶、渲染圖像過渡和場景等功能。 3. 配置 Android 平臺開發(fā) 環(huán)境 a、 安裝 Android Development Tools (ADT )插 件 啟動 Eclipse ,如果是 或 選擇 Help Install New Software... ,點擊 Add ,如果 及以下版本菜單是 Help Software Updates... ,點擊 Add Site 準備安裝插件。 Android 平臺結(jié)構(gòu) 圖如 圖 。通過 采用結(jié)構(gòu)化設(shè)計 ,大大 簡化了組件之間的重用 ,提高了開發(fā)者的開 發(fā)效率 。 Android具有豐富的庫類支持且大部分為開源代碼,如 SQLite 、 WebKit 、 OpenGL等, 例如 SQLite數(shù)據(jù)庫 ,體積小只有 250KB但支持數(shù)據(jù)庫大小至 2TB,提供了對事務(wù)功能和并發(fā)處理的支持,而且比目前流行的大多數(shù)數(shù)據(jù)庫運行速度快 [29]。 8. 用于支持 GSM 、藍牙、 3G 、 WiFi 、攝像頭、 GPS 和各種輸入設(shè)備的驅(qū)動程序。 4. 常用的應(yīng)用程序,如撥號程序和通訊錄等。 Android 操作系統(tǒng)應(yīng)用了開源社區(qū)的很多優(yōu)秀成果,并做了大量的優(yōu)化和豐富的擴充。與 Windows CE , iPhone OS , Symbian 等不同, Android 公開源 代碼,支持第三方軟件的加入,消除了任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。由于操作系統(tǒng)的開放性、硬件選擇的多樣性和對第三方開發(fā)商較少的限制等因素, Android 系統(tǒng) 已經(jīng)成為最 流行 的手機操作系統(tǒng)之一,具有很大的發(fā)展前景。 第 五 章, 詳細介紹了該漢字輸入法的設(shè)置、安裝、使用與卸載 。 第二章, 介紹了與設(shè)計目標相關(guān)的基礎(chǔ)工作,包括 簡單介紹 Android 平臺及其框架 和 Android 開發(fā)平臺的搭建 ,介紹縱橫輸入法的相關(guān)基礎(chǔ)知識,并分析其優(yōu)缺點 ,最后還全面介紹了 Android 手機平臺輸入法的生命周期及其重要組成部分等,羅列了Android 平臺輸入法框架中,所需實現(xiàn)的幾個重要類及接口 。最后還羅列了根據(jù) Android 平臺輸入法框架中需要實現(xiàn)的幾個重要的類以及幾個重要的函數(shù)接口和這些接口的簡要說明。而從 Android平臺 版本以后, Google 更是 開放了 Android 平臺 輸入法框架( Input Method Framework, IMF) ,為 Android 平臺的輸入法帶來了可擴展性。本文 編碼方案所需要的文件包括字索引文件、字碼本文件、詞索引文件、詞碼本文件。 Android 手機平臺上中文輸入法設(shè)計和實現(xiàn) 第一章 緒論 7 本文工作 1)提出了一個適合 Android 平臺的輸入法碼本設(shè)計方案 合理的 碼本 設(shè)計對于輸入法來說有著非常重要的作用 ,直接關(guān)系到輸入法的查詢性能、所需存儲空間等多個方面。 因為國內(nèi)對中文的理解更深,也更加了解中文的輸入習慣,實際上國產(chǎn)輸入法在性能上不遜色于或優(yōu)于海外輸入法 [4]。 iTAP 輸入法全稱 iTAP 智能按鍵輸入法,是摩托羅拉經(jīng)過潛心研究,在 T9 的基礎(chǔ)上發(fā)展起來的。 字能輸入法 [20]是由總部設(shè)在加拿大的字源咨詢技術(shù)有限公司和愛立信合作推出的。 T9 輸入法全稱 T9 智能輸入法, 該輸入法是由語音技術(shù)、文字輸入和圖像解決方案提供商 Nuance 通訊公司開發(fā)的 [4][18],目前占有率最高 。所以在輸入拼音的時候需要一一選擇需要的字母來組成拼音,然后根據(jù)拼音來選擇需要的文字。 Palm 系統(tǒng)不但占用系統(tǒng)資源少,硬件要求不高,電池壽命長,而且系統(tǒng)簡單易用,采用了觸控的操作界面,一個觸控筆可以完成幾乎所有操作,十分方便攜帶。 5. Windows Phone Windows Mobile 系列徹底退出手機操作系統(tǒng)市場后,微軟于 20xx 年 2 月,又正式發(fā)布了 Windows Phone 手機操作系統(tǒng)以對抗谷歌的 Android 和蘋果的 iPhone,該系統(tǒng)的程序?qū)⑴c Windows Mobile 互不兼容。 不過 Linux 也有很多天生的缺點,例如: a、 入門難度高、熟悉其開發(fā)環(huán)境的工程師少、集成開發(fā)環(huán)境不夠完善。其優(yōu)勢表現(xiàn)為以下幾點 [11]: a、 應(yīng)用于智能手機上 Linux操作系統(tǒng)和應(yīng)用與電腦上的 Linux操作系統(tǒng)是同一個系 統(tǒng),而且全都是是免費操作系統(tǒng)。三、搭載 iOS 系統(tǒng)的蘋果產(chǎn)品價格較為昂貴,讓 大部分消費者望而卻步。 iOS 有用戶界面相當友好,操作也很方便,系統(tǒng)性能穩(wěn)定,豐富的第三方軟件資源、服務(wù)也很完善等很多優(yōu)點。 2. Android Android 是 Google 于 20xx 年 11 月 5 日提出的基于 Linux 平臺的開源手機操作系統(tǒng)的名稱,號稱是首個為移動終端打造的真正開放的和完整的移動軟件。四、版本之間兼容性較差,每個新的版本的 Symbian 發(fā)布并且產(chǎn)品上市之后,很多軟件要開發(fā)商通過開發(fā)新的版第一章 緒論 Android 手機平臺上中文輸入法設(shè)計和實現(xiàn) 4 本跟進,才能繼續(xù)使用。例如:一、Symbian 機型的硬件配置普遍較低,各類機型所采用的屏幕分辨率和處理器主頻都比較低,雖然系統(tǒng)可以獲得較高的處理效能,但是在多媒體等方面表現(xiàn)仍然不盡如人意。 1. Symbian Symbian 是由幾家大型移動通訊設(shè)備商(諾基亞、摩托羅拉、三菱、愛立信及 Psion等)共同出資成立的一家合資公司,專門用于研發(fā)手機操作系統(tǒng)( Symbian OS) [7],其目標是開發(fā)一種開放性的操作系統(tǒng),使其能在手機及其他一些移動設(shè)備上運行。智能手機也 自此應(yīng)運而生。 產(chǎn)品價格的不斷合理化,也大力推動了智能手機的普及。 對于本課題的實現(xiàn),有如下意義: ? 將智能輸入技術(shù)進一步應(yīng)用與手機輸入系統(tǒng)中,便于適應(yīng)用戶的輸入習慣,提高了用戶輸入漢字的速度。 以往,手機操作系統(tǒng)不開放編程接口,不支持第三方軟件的開發(fā)。國內(nèi)也陸續(xù)推出了自己的輸入法,例如由廣東國筆科技有限公司推出的國筆智能輸入法,騰凌智能數(shù)字鍵盤中文輸入法等。由于手持設(shè)備本身硬件的限制,數(shù)字鍵盤輸入法成為手機中最常用的輸入法, 然而 現(xiàn)在, 我國數(shù)字鍵盤漢字輸入的技術(shù)和市場主要被外國壟斷 , 90%以上的手機嵌入的漢字輸入法技術(shù)使用的是國外技術(shù)和專利,我們使用的每臺手機都必須給外國公司支付超過 美元的漢字輸入技術(shù) 專利費,僅此一項 ,每年 就要支付幾億元人民幣。 手機終端功能的多樣化和網(wǎng)絡(luò)技術(shù)的 快 速發(fā)展 ,也使手機的使用越來越普遍。 關(guān)鍵詞: 輸入法 、 Android、碼本、輸入架構(gòu) 作 者: 指導(dǎo)老師: Abstract The Design and Implement of Chinese Input Method Based On Android System II The Design and Implementation of Chinese Input Method on Android Abstract With the widespread use of 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. . Firstly, this desertation describes the main ponent and system framework of Andriod, and then analyzes the advantages and disadvantages of the popular Chinese input methods on all kinds of mobile platforms. Secondly, it uses CKC 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 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 ponents, circuit, life cycle and some of the necessary achieved classes, functions, and so on. On this basis, it designes and rea