Android平台提供能夠讓你在應用程式中執行和訪問拼字檢查的拼字檢查器架構。這個架構是由Android平台提供的文本服務API之一。 要在應用程式中使用該架構,你就要建立一個特殊的Android服務類型,該服務會產生一個拼字檢查器的session對象。基於你提供的文本,該session對象會返回由拼字檢查器產生的拼字建議。 拼字檢查器的生命週期 顯示了拼字檢查器服務的生命週期: 圖1.拼字檢查服務的生命週期。 要進行拼字檢查,你的應用程式就要啟動它的拼字檢查器的實現。用戶端在應用程式中,如Activity或獨立的UI元素,首先從服務端申請一個拼字檢查的session,然後使用這個session來獲得對應文本的拼字建議。當用戶端終止了它的操作時,它要關閉它的用於拼字檢查的session。如果需要,你的應用程式可以在任何時候關閉拼字檢查伺服器。 實現一個拼字檢查器的服務 要在你的應用程式中使用拼字檢查器的架構,就要添加一個包含session對象定義的拼字檢查服務元件。你還可以給你的應用程式添加一個控制設定的可選的Activity。你好必須要添加一個描述拼字檢查服務的XML中繼資料檔案,並且把對應的元素添加到資訊清單檔中。 拼字檢查器的類 使用下面的類來定義服務和session對象: SpellCheckerService的子類: SpellCheckerService類實現了Service類和拼字檢查器架構的介面。在你的子類中,你必須實現下面的方法: createSession() 這個一個Factory 方法,它能夠給想要做拼字檢查操作的用戶端返回一個SpellCheckerService.Session對象。 這個類實現的更多的資訊請看Spell Checker Service樣本應用 SpellCheckerService.Session 這是一個拼字檢查服務提供給用戶端的對象,用它把文本傳遞給拼字檢查器並接收拼字建議。在這個類中,你必須實現以下方法: onCreate() 在對createSession()方法的響應中,系統會調用這個方法,在這個方法中,你可以基於當前的語言環境等來初始化SpellCheckerService.Session對象。 onGetSentenceSuggestionsMultiple() 這個方法執行實際的拼字檢查。這個方法會返回SentenceSuggestionsInfo對象的數組,其中包含了對傳入句子的拼字建議。 你可以有選擇的實現onCancel(),這個方法處理取消拼字檢查的請求,onGetSuggestions()用於處理一個單詞的建議請求,onGetSuggestionsMultiple()用於批量處理單詞建議的請求。 注意:你必須用非同步和安全執行緒的方式來全面的實現拼字檢查。一個拼字檢查器可以同時被運行在不同核心上的不同線程來調用。SpellCheckerService和SpellCheckerService.Session對象會自動的完成此事。