android輸入法app開發(fā)(編程輸入法app)
今天給各位分享android輸入法app開發(fā)的知識,其中也會對編程輸入法app進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!
android輸入法開發(fā),最開始編寫的時候必須要寫的有什么內容
參考開源的輸入法程序:
這個是個日語輸入法
初步學習:-1個月
1.去電驢上下一份mars的視頻。先淺淺的了解下android應用開發(fā)、整體架構和思路。mars的視頻做的挺不錯。
2.在eclipse中導入api demos。在手機/模擬器上運行apidemos,里面的實例非常棒??梢园牙又猩婕暗巾椖康牡胤綐俗⑾?然后著重看看這部分的代碼.
逐漸深入:-3個月
1.有選擇的閱讀android api中的Dev Guide部分。
2.閱讀android中的resources部分。
上面的文章比較多,也不需要全部閱讀。只是在做過初步工作后,有選擇性的著重看一些相關內容。相關內容應該不僅僅包括項目直接相關的,還包括一些平臺基礎知識。這些東西應如何選擇是在初步學習階段中應該明確的。
3.有空上上android相關比較好的社區(qū),看看高手總結。如eoe、bus之類的。
準備階段:-3個月
閱讀開源的項目。
樓下有的朋友也提了一些建議。我覺得都挺好的,到了這個時候就該開始閱讀源碼進行學習了。
這里的關鍵在于慢慢扣源碼,先找容易看到的類??粗⑨屄斫?,碰到不熟悉的類就查android的api。
閱讀是個長期的過程,然后必須要產生一些成果:
a.與輸入法相關的關鍵接口有哪些?關鍵類有哪些,職責是什么?
b.輸入法的架構是怎樣的?組件之間如何交互?
c.數(shù)據(jù)從哪里來?如何進行組織?
3.開發(fā)階段:
迭代開發(fā)。從最小的原型開始做起。
最小原型包括:最基本的輸入法功能,輸入字母,確定輸入,顯示字典,選擇完成輸入。最基礎的測試數(shù)據(jù)。
在完善輸入法基本功能上迭代開發(fā)。包括聯(lián)想輸入,更智能的分詞,以及符號和手寫識別等。還有ui美化等等。
既然你這邊有學c的同學,那么在一些關鍵瓶頸方面。也可以使用NDK做后續(xù)優(yōu)化。
android ui怎么開發(fā)出搜狗輸入法的程序
一、結構
public final class InputMethodManager extends Object
Java.lang.Object
android.view.inputmethod.InputMethodManager
二、類概述
整個輸入法框架(IMF)結構的核心API,應用程序之間進行調度和當前輸入法交互。你可以用Context.getSystemService()取得這一接口的實例。
架構總述(Architecture Overview)
輸入法框架(IMF)共有三個主要部分:
* 輸入法管理器,管理各部分的交互。它是一個客戶端API,存在于各個應用程序的context中,用來溝通管理所有進程間交互的全局系統(tǒng)服務。
* 輸入法(IME) ,實現(xiàn)一個允許用戶生成文本的獨立交互模塊。系統(tǒng)綁定一個當前的輸入法。使其創(chuàng)建和生成,決定輸入法何時隱藏或者顯示它的UI。同一時間只能有一個IME運行。
* 客戶應用程序,通過輸入法管理器控制輸入焦點和IME的狀態(tài)。一次只能有一個客戶端使用IME。
應用程序(Applications)
大多數(shù)情況下,使用標準TextView或其子類的應用程序只要做少量工作就可以讓軟鍵盤(soft input methods)正常工作。你要注意的是:
* 正確設置你的可編輯文本視圖inputType,這樣輸入法有足夠的上下文幫助用戶向其輸入文本。
* 當輸入法顯示時妥善處理隱藏屏幕空間。理想的情況下應用程序應處理窗口變小,如必要你可以利用系統(tǒng)執(zhí)行平移窗口。你應在活動(activity)中設置windowSoftInputMode屬性或調整創(chuàng)建窗口的相應值,以便系統(tǒng)決定平移或縮放(它會嘗試自動調整但可能出錯)。
* 你還可以通過相同的windowSoftInputMode控制窗口的首選軟鍵盤狀態(tài)(打開、關閉等)。
通過API可以與IMF及其IME交互實現(xiàn)更細致的控制,如顯示或輸入區(qū)域,用戶選取某輸入法等。
當你編寫自己的文本編輯器的時候,你要實現(xiàn)onCreateInputConnection(EditorInfo)以返回你的InputConnection的接口實例,用來允許IME和你的文本編輯域來交互。
輸入法(Input Methods)
一個輸入法(IME)是Service(服務)的實現(xiàn),通常繼承自 InputMethodService。IME提供核心的 InputMethod接口,盡管提供InputMethod通常是由InputMethodService來處理,而IME的實現(xiàn)只需要處理更高層的API。
更多信息參閱InputMethodService。
安全(Security)
輸入法關系到許多安全問題,因其基本不受約束地驅動UI并監(jiān)視用戶輸入。Android輸入法框架還允許調度第三方IME,所必須小心以限制他們的選擇和相互作用。
以下是IMF背后安全架構的要點:
* 只允許系統(tǒng)訪問經BIND_INPUT_METHOD權限許可訪問IME的InputMethod接口。通過綁定到要求這個權限的服務來強制實現(xiàn)這一點。所以系統(tǒng)可以保證沒有不被信任的客戶端在它的控制之外訪問到當前的輸入法。
* IMF中可能有許多客戶進程,但在同一時間只有一個是激活的。未激活客戶端不能與IMF核心交互通過下述機制實現(xiàn)。
* 輸入法客戶端只可訪問InputMethodSession接口。每個客戶端創(chuàng)建一個接口實例,只有與激活客戶相關聯(lián)的會話的調用才會被IME處理。這點通過普通IME的 AbstractInputMethodService執(zhí)行,必須由IME顯式的處理,而IME正是InputMethodSession的自定義實現(xiàn)。
* 只有激活的InputConnection接受操作。IMF通知每個客戶進程是否激活,IMF忽略非激活進程對當前輸入聯(lián)接的調用。這確保了當前IME只將事件和文本編輯交付用戶可見焦點的UI。
* 一個IME永遠不能在屏幕關閉時與 InputConnection交互。這是通過當屏幕關閉時所有客戶端無效,并防止不良IME在用戶無法關注其行為時驅動UI。
* 客戶應用程序可以要求系統(tǒng)選取一個新的IME,但不能編程式選擇之一。這是避免惡意程序在用戶導航到其它應用程序時,選擇自己的IME并保持運行。也就是說,IME可以編程式的要求系統(tǒng)選擇其它IME,因它完全控制了用戶輸入。
用戶在可切換至一個新的IME前必須顯式的啟用它,以確認系統(tǒng)了解它,使其處于可用狀態(tài)。
輸入法app怎么做
開發(fā)一個輸入法,只需要用到一個核心類和幾個可有可無的輔助類。
核心類是InputMethodService,一個輸入法幾乎所有的功能都是由它來實現(xiàn)的,包括鍵盤界面的搭建、鍵盤語言的切換、拼音漢字的轉換、候選詞的展示、文字的上屏等各種邏輯都通過這個類來實現(xiàn)。InputMethodService類有如下幾個主要方法來管理輸入法服務的生命周期:
·onCreate():輸入法開始創(chuàng)建,內部已經實現(xiàn)
設置theme、創(chuàng)建window、填充 rootview、設置布局方式等,我們也可以在此處
做一些初始化操作,但一定不要忘了調用supper.onCreate () ;
·onCreatelnputView():返回一個 view 作為
輸入法的鍵盤布局,通常這個view是由KeyboardView 和 Keyboard兩個輔助類生成,當然也完全可以自定義。切換一次輸入法只會調用APP內打開
·onCreateCandidatesView():返回一個view
來展示候選詞,這個view可有可無,會覆蓋到應用上方,一般用半透明的背景,但市面上的輸入法一般都用來顯示拼音部分,而把候選詞放入InputView.同樣切換一次輸入法只會調用一次;
·onStartlnputView(Editorlnfo):開始輸入的
時候調用,每次喚起鍵盤或切換EditText都會調用,并把EditText的Editorlnfo傳過來,輸入法要根據(jù) Editorlnfo的信息判斷中英文、數(shù)字、回車鍵類型等,來展示不同的鍵盤,也就是動態(tài)切換 InputView的布局;
·onFinishlnput():輸入結束的時候調用,此
時可以做一些reset操作,比如隱藏CandidatesView,恢復InputView為默認布局等;APP內打開
·onDestroy():一般在切換其他輸入法的時候
android 手寫輸入法開發(fā)
我知道第三方的手寫引擎有[多文手寫識別]您可以搜索一下看看這個網站,有android、iphone、wince、mobile 的等等,是個很專業(yè)的公司,專門做手寫識別的,我用過他們的庫很強大,比起漢王、捷很等大公司便宜很多呢。
如何在應用開發(fā)android中添加中文輸入法
首先你要在手機上裝有中文輸入法。
如果是程序調用指定的中文輸入法就用InputMethodManager.setInputMethod (IBinder token, String id),函數(shù)可以在sdk中看相關說明。
如果是手機上設置默認的話,設置-語言和輸入法-默認- 然后在彈出框中選擇你想要的輸入法。
android輸入法開發(fā)
c楱摺c楱摺x栓u┝lc楱摺rèpぁvjⅠ法23450432042011-09-15 7:13:50r莬ンr莬ンwそd勝Ξmwそlゃylゃn瞌} 我知道一個很強大的作者,他們做過很多優(yōu)秀的輸入法。直接聯(lián)系他們:摳摳:壹貳零肆柒柒貳叁玖
關于android輸入法app開發(fā)和編程輸入法app的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。