999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android系統智能終端的藏文輸入法分析與實現

2014-04-29 09:44:08張繼偉
網絡空間安全 2014年4期

【 摘 要 】 移動互聯網時代已經到來,各種移動終端成為了人們交流與溝通的重要工具,然而少數民族文化信息的傳遞因為輸入法的缺失而受到了一定的限制,推動和發展少數民族文化需要從最基本的文字輸入法開始。針對以上問題,本文通過對藏文的特點、藏文文字的組成、國內外對藏文文字信息編碼等方面進行了探討和研究,在此基礎上分析了Android系統輸入法框架IMF的特點、組成及工作原理。最后依據Android系統輸入法的框架通過使用各種開發工具和方法,開發出了一款藏文輸入法,并通過了在Android系統終端上的測試。文章闡述了藏文在Android系統下輸入法的設計思想以及實現過程,介紹了該技術的設計原理以及流程。

【 關鍵詞 】 軟件開發;Android系統;智能終端應用;輸入法框架IMF;藏文輸入法;系統設計與實現

【 中圖分類號 】 TP391.14 【 文獻標識碼 】 A

1 引言

隨著移動互聯網時代的到來,各種信息化應用鋪天蓋地,大量的信息在人群間傳遞,而少數民族文化也需要一展風采,藏文化作為中華文化的重要成員,在信息時代發展藏民族文化至關重要,而輸入法是發展藏文化的基礎的基礎。從移動終端來看,Android系統與IOS系統獨領風騷,可惜Android系統自Android 1.5版本到最新的4.0版本都沒有在底層實現對藏文的支持,所以很有必要攻堅克難打造一款好用的、符合藏語特點的藏文輸入法。

2 Android系統藏文輸入法設計與實現

2.1 Android系統輸入法框架IMF

IMF是input method framework的簡稱, 它是Android 1.5新添加進去的一個重要功能,用來支持軟鍵盤、各種的輸入法。按照SDK文檔的敘述,一個IMF結構中包含三個主要的部分。

input method manager:管理各部分的交互。它是一個客戶端API,是整個輸入法框架(IMF)結構的核心,存在于各個應用程序的context中,用來溝通管理所有進程間交互的全局系統服務,可以通過Context.getSystemService()來獲取一個InputMethodManager的實例。

input method:實現一個允許用戶生成文本的獨立交互模塊。系統綁定一個當前的輸入法。使其創建和生成,決定輸入法何時隱藏或者顯示它的UI。同一時間只能有一個IME運行。

client application:通過輸入法管理器控制輸入焦點和IME的狀態。一次只能有一個客戶端使用IME。

Android系統的客戶端控件主要是TextView及其子類,客戶端控件是輸入法人機交互的起點,客戶端控件與輸入法服務和輸入法應用都有交互操作。Android系統的輸入法框架為輸入法應用定義了一個基類InputMethodService。InputMethodService提供了一個輸入法的標準實現。定義了輸入法生命周期內的重要函數,提供給開發人員進行相應的處理。輸入法應用的生命周期{3}:

當用戶觸發輸入法顯示的時候(客戶端控件獲得焦點),InputMethodService啟動。

1)調用onCreate() 函數,該函數在輸入法第一次啟動的時候調用,適合用來做一些初始化的設置。

2)調用onCreateInputView() 函數,在該函數中創建KeyboardView并返回。

3)調用onCreateCandidatesView()函數,在該函數中創建候選區實現并返回。

4)調用onStartInputView()函數來開始輸入內容。

5)輸入結束后調用onFinishInput()函數來結束當前的輸入。

6)如果移動到下一個輸入框則重復調用onStartInputView和onFinishInput函數。

7)在輸入法關閉的時候調用onDestroy() 函數。

2.2 藏文輸入法實現

Android系統中藏文輸入法要依據Android輸入法框架來完成,只不過關鍵點在于如何將藏文文字實現展現和輸入。為了能在通信網絡中順利傳輸以及防范不規則編碼的出現,依據本文開發出的藏文輸入法藏文采用Unicode國際編碼。整個開發環境基于Windows XP系統,在開發過程中使用的工具有Windows XP 自帶計算器、圖片制作工具MicroMedia Fireworks、Eclipse工具(eclipse-java-indigo-win32版本)、jdk 1.6、android-sdk-windows平臺2.1版本等,而開發所參考的模型為Android系統開源輸入法實例。

2.2.1 藏文基本文字編碼轉換

藏文(Tibetan)Unicode 編碼表[范圍(0F00-0FFF)共256個],但藏文文字中30個輔音字母、4個元音符號、以及5個反寫字母(用以拼外來語)最為常用,大部分常見藏文文字可以由這些基本字組合而成;所以需要將這些基本字根的十六進制Unicode編碼進行十進制的轉換,以便能在Android系統中識別。轉換可以使用windows自帶計算器進行轉換,部分轉換編碼對應關系如表1。

2.2.2 藏文基本文字輸入法圖片制作

由于Android系統底層沒有對藏文的支持,如果在開發中直接使用編碼的話,最后完成的輸入法操作面板為亂碼“□”,界面將會無法正常使用,而Android系統中的鍵盤文件提供了圖標功能,通過圖標標簽就可以將藏文正常顯示在鍵盤面板上。所以還需要將藏文輔音字、元音字等基本字制作成小圖片,圖片大小可以為17×30像素,格式可以是png或jpg等常見圖片格式,文字制作圖片可以使用FireWorks、PhotoShop等制圖工具,字形可以從該網址查詢http://www.marathon-studios.com/unicode/U0F40/Tibetan_Vowel_Sign_O,每次只需要變化該網址中的粗體部分。endprint

2.2.3 藏文輸入法實現及測試驗證

在eclipse開發環境中將Android系統開源輸入法實例進行工程導入,并將制作的全部藏文圖標導入res\drawable目錄下,然后在res\xml目錄下新建鍵盤文件并將前面轉換和制作的圖標進行對應,比如:從字形上可以對應的十進制為3904和3984,而其對應的圖標為圖片a1,代碼如下:

其他藏文基本字以此類推,主要是做好全鍵盤的布局,以方便使用者使用。

然后在SoftKeyboard.Java中進行新建鍵盤文件的加載,定義全局私有變量private LatinKeyboard mQwertyKeyboard;在onInitializeInterface()方法中進行初始化mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty)。最后在onKey(int primaryCode, int[] keyCodes)方法中進行鍵盤的點擊切換的代碼開發;以此,便可以完成一個集藏文、英文字母、數字、符號為一體的藏文輸入法。測試時可以在Eclipse開發環境中新建Android project工程,在工程中使用EditText組件,并將其字體顯示屬性設置setTypeface(tf),tf是Typeface實例,需要引入相應的藏文字庫,字庫可以選擇微軟的Himalaya字庫,經過測試可以完美的實現藏文文字的輸入。最終的輸入法界面及測試如圖2所示。

3 結束語

該藏文輸入法利用了Android系統輸入法框架,在其基礎之上通過一些方法巧妙的方法實現了藏文文字的展示及輸入,并且采用了Unicode編碼,符合國際國家通信網絡要求,完全可以在實際通信網絡中使用。雖然此輸入法簡單,但可以作為其他藏文輸入法的基礎,在此基礎上可以研究聯想字詞藏文輸入法和手寫輸入法,并且還可以作為開發其他少數民族文字Android系統輸入法的參考。

參考文獻

[1] 藏文 [EB/OL].百度百科.

[2] 吳兵,江荻.藏文國際編碼的發展與技術應用[EB/OL].中國知網.

[3] Android平臺輸入法開發解析 [EB/OL].百度百科.

[4] 太清-太清撰寫:藏文字母表 [EB/OL].

作者簡介:

張繼偉(1983-),男,甘肅甘谷人,本科,通信工程師;主要研究方向和關注領域:軟件設計、開發,通信技術、通信行業業務及應用系統、信息化技術及應用。endprint

2.2.3 藏文輸入法實現及測試驗證

在eclipse開發環境中將Android系統開源輸入法實例進行工程導入,并將制作的全部藏文圖標導入res\drawable目錄下,然后在res\xml目錄下新建鍵盤文件并將前面轉換和制作的圖標進行對應,比如:從字形上可以對應的十進制為3904和3984,而其對應的圖標為圖片a1,代碼如下:

其他藏文基本字以此類推,主要是做好全鍵盤的布局,以方便使用者使用。

然后在SoftKeyboard.Java中進行新建鍵盤文件的加載,定義全局私有變量private LatinKeyboard mQwertyKeyboard;在onInitializeInterface()方法中進行初始化mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty)。最后在onKey(int primaryCode, int[] keyCodes)方法中進行鍵盤的點擊切換的代碼開發;以此,便可以完成一個集藏文、英文字母、數字、符號為一體的藏文輸入法。測試時可以在Eclipse開發環境中新建Android project工程,在工程中使用EditText組件,并將其字體顯示屬性設置setTypeface(tf),tf是Typeface實例,需要引入相應的藏文字庫,字庫可以選擇微軟的Himalaya字庫,經過測試可以完美的實現藏文文字的輸入。最終的輸入法界面及測試如圖2所示。

3 結束語

該藏文輸入法利用了Android系統輸入法框架,在其基礎之上通過一些方法巧妙的方法實現了藏文文字的展示及輸入,并且采用了Unicode編碼,符合國際國家通信網絡要求,完全可以在實際通信網絡中使用。雖然此輸入法簡單,但可以作為其他藏文輸入法的基礎,在此基礎上可以研究聯想字詞藏文輸入法和手寫輸入法,并且還可以作為開發其他少數民族文字Android系統輸入法的參考。

參考文獻

[1] 藏文 [EB/OL].百度百科.

[2] 吳兵,江荻.藏文國際編碼的發展與技術應用[EB/OL].中國知網.

[3] Android平臺輸入法開發解析 [EB/OL].百度百科.

[4] 太清-太清撰寫:藏文字母表 [EB/OL].

作者簡介:

張繼偉(1983-),男,甘肅甘谷人,本科,通信工程師;主要研究方向和關注領域:軟件設計、開發,通信技術、通信行業業務及應用系統、信息化技術及應用。endprint

2.2.3 藏文輸入法實現及測試驗證

在eclipse開發環境中將Android系統開源輸入法實例進行工程導入,并將制作的全部藏文圖標導入res\drawable目錄下,然后在res\xml目錄下新建鍵盤文件并將前面轉換和制作的圖標進行對應,比如:從字形上可以對應的十進制為3904和3984,而其對應的圖標為圖片a1,代碼如下:

其他藏文基本字以此類推,主要是做好全鍵盤的布局,以方便使用者使用。

然后在SoftKeyboard.Java中進行新建鍵盤文件的加載,定義全局私有變量private LatinKeyboard mQwertyKeyboard;在onInitializeInterface()方法中進行初始化mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty)。最后在onKey(int primaryCode, int[] keyCodes)方法中進行鍵盤的點擊切換的代碼開發;以此,便可以完成一個集藏文、英文字母、數字、符號為一體的藏文輸入法。測試時可以在Eclipse開發環境中新建Android project工程,在工程中使用EditText組件,并將其字體顯示屬性設置setTypeface(tf),tf是Typeface實例,需要引入相應的藏文字庫,字庫可以選擇微軟的Himalaya字庫,經過測試可以完美的實現藏文文字的輸入。最終的輸入法界面及測試如圖2所示。

3 結束語

該藏文輸入法利用了Android系統輸入法框架,在其基礎之上通過一些方法巧妙的方法實現了藏文文字的展示及輸入,并且采用了Unicode編碼,符合國際國家通信網絡要求,完全可以在實際通信網絡中使用。雖然此輸入法簡單,但可以作為其他藏文輸入法的基礎,在此基礎上可以研究聯想字詞藏文輸入法和手寫輸入法,并且還可以作為開發其他少數民族文字Android系統輸入法的參考。

參考文獻

[1] 藏文 [EB/OL].百度百科.

[2] 吳兵,江荻.藏文國際編碼的發展與技術應用[EB/OL].中國知網.

[3] Android平臺輸入法開發解析 [EB/OL].百度百科.

[4] 太清-太清撰寫:藏文字母表 [EB/OL].

作者簡介:

張繼偉(1983-),男,甘肅甘谷人,本科,通信工程師;主要研究方向和關注領域:軟件設計、開發,通信技術、通信行業業務及應用系統、信息化技術及應用。endprint

主站蜘蛛池模板: 91网址在线播放| 国产青青操| 中文字幕无码制服中字| 国产成人AV男人的天堂| 最新加勒比隔壁人妻| 亚洲国产在一区二区三区| 五月天综合婷婷| 国产午夜精品一区二区三区软件| 毛片在线区| 日韩高清无码免费| 精品视频第一页| 久一在线视频| 99人妻碰碰碰久久久久禁片 | 99久久精品国产精品亚洲| 久青草免费在线视频| 欧美日韩国产成人高清视频| 久久中文字幕2021精品| 又大又硬又爽免费视频| 91精品福利自产拍在线观看| 国产成人超碰无码| 久久久久亚洲精品无码网站| 她的性爱视频| 欧美日韩国产在线播放| P尤物久久99国产综合精品| 亚洲色成人www在线观看| 男女精品视频| 亚洲第一成年网| 成人在线综合| 亚洲大尺码专区影院| 爆乳熟妇一区二区三区| 久久精品娱乐亚洲领先| 亚洲精品国产综合99| 亚洲天堂在线免费| 国产欧美日韩另类| 欧美区国产区| 亚洲欧美在线综合一区二区三区| 久久精品人人做人人综合试看| 亚洲一区精品视频在线| 狠狠ⅴ日韩v欧美v天堂| 亚洲精品在线影院| 天堂在线www网亚洲| 香蕉在线视频网站| 国产成人免费高清AⅤ| 中文字幕在线播放不卡| аv天堂最新中文在线| 国产中文一区a级毛片视频| 久久激情影院| 婷婷在线网站| 波多野结衣一区二区三区88| 久久黄色视频影| 中文字幕乱码中文乱码51精品| 欧美不卡视频在线观看| 欧美日韩国产精品va| 中文字幕一区二区人妻电影| 爽爽影院十八禁在线观看| 国产玖玖视频| 久久人人妻人人爽人人卡片av| 男女精品视频| 制服丝袜一区| 91精品人妻互换| 日韩欧美中文在线| 91小视频在线观看| 国产国拍精品视频免费看| 久久成人18免费| 亚洲国产精品一区二区第一页免| 亚洲中文字幕精品| 欧美成人看片一区二区三区| 992Tv视频国产精品| 亚洲另类色| 亚洲国产欧美中日韩成人综合视频| 91极品美女高潮叫床在线观看| 成人国产精品一级毛片天堂| 国产另类视频| 美女无遮挡免费视频网站| 欧洲免费精品视频在线| 欧美成人第一页| 国产jizz| 亚洲综合色区在线播放2019| 亚洲av综合网| 毛片免费网址| a级毛片在线免费| 日本一区二区不卡视频|