Android的文本和輸入---拼寫檢查器

Android平臺提供能夠讓你在應用程序中執行和訪問拼寫檢查的拼寫檢查器框架。這個框架是由Android平臺提供的文本服務API之一。
 
要在應用程序中使用該框架,你就要創建一個特殊的Android服務類型,該服務會生成一個拼寫檢查器的session對象。基於你提供的文本,該session對象會返回由拼寫檢查器生成的拼寫建議。
 
拼寫檢查器的生命週期
 
下圖顯示了拼寫檢查器服務的生命週期:
 
\
 
圖1.拼寫檢查服務的生命週期。
 
要進行拼寫檢查,你的應用程序就要啓動它的拼寫檢查器的實現。客戶端在應用程序中,如Activity或獨立的UI元素,首先從服務端申請一個拼寫檢查的session,然後使用這個session來獲得對應文本的拼寫建議。當客戶端終止了它的操作時,它要關閉它的用於拼寫檢查的session。如果需要,你的應用程序可以在任何時候關閉拼寫檢查服務器。
 
實現一個拼寫檢查器的服務
 
要在你的應用程序中使用拼寫檢查器的框架,就要添加一個包含session對象定義的拼寫檢查服務組件。你還可以給你的應用程序添加一個控制設置的可選的Activity。你好必須要添加一個描述拼寫檢查服務的XML元數據文件,並且把對應的元素添加到清單文件中。
 
拼寫檢查器的類
 
使用下面的類來定義服務和session對象:
 
SpellCheckerService的子類:
 
SpellCheckerService類實現了Service類和拼寫檢查器框架的接口。在你的子類中,你必須實現下面的方法:
 
createSession()
 
  這個一個工廠方法,它能夠給想要做拼寫檢查操作的客戶端返回一個SpellCheckerService.Session對象。
 
這個類實現的更多的信息請看Spell Checker Service示例應用
 
SpellCheckerService.Session
 
  這是一個拼寫檢查服務提供給客戶端的對象,用它把文本傳遞給拼寫檢查器並接收拼寫建議。在這個類中,你必須實現以下方法:
 
onCreate()
 
   在對createSession()方法的響應中,系統會調用這個方法,在這個方法中,你可以基於當前的語言環境等來初始化SpellCheckerService.Session對象。
 
onGetSentenceSuggestionsMultiple()
 
   這個方法執行實際的拼寫檢查。這個方法會返回SentenceSuggestionsInfo對象的數組,其中包含了對傳入句子的拼寫建議。
 
 
 
你可以有選擇的實現onCancel(),這個方法處理取消拼寫檢查的請求,onGetSuggestions()用於處理一個單詞的建議請求,onGetSuggestionsMultiple()用於批量處理單詞建議的請求。
 
注意:你必須用異步和線程安全的方式來全面的實現拼寫檢查。一個拼寫檢查器可以同時被運行在不同核心上的不同線程來調用。SpellCheckerService和SpellCheckerService.Session對象會自動的完成此事。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章