Android プラットフォームには、スペル チェッカー フレームワークが用意されており、 アプリでのスペルチェックの実装とアクセス。このフレームワークは Text Service API。
アプリでフレームワークを使用するには、 スペルチェックの session オブジェクトを生成します。入力したテキストに基づいて Session オブジェクトは単語のつづりによって生成されたスペル候補を返します。 します。
スペルチェックのライフサイクル
次の図は、スペルチェック サービスのライフサイクルを示しています。
スペルチェックを開始するために、アプリはスペルチェックの実装を開始します。 チェッカー サービスがあります。アプリ内のクライアント(アクティビティや個々の UI など) 要素の作成、サービスにスペルチェック セッションをリクエストしてから、 して、テキストの候補を表示します。クライアントがオペレーションを終了すると、 コピーされます。必要に応じて、アプリは魔法をシャットダウンできます いつでも使用できます。
スペルチェック サービスを実装する
アプリでスペルチェック フレームワークを使用するには、スペルチェック サービスを追加してください コンポーネントが含まれています。また、 設定を管理するオプション アクティビティをアプリに追加できます。XML メタデータ ファイルを追加する テキスト チェッカー サービスを記述し、適切な要素を 追加します。
スペルチェック クラス
次のクラスを使用して、サービスとセッション オブジェクトを定義します。
-
- サブクラス
SpellCheckerService
SpellCheckerService
は、Service
スペルチェックのフレームワーク インターフェースです。サブクラス内で、 次のメソッドを実装します。 <ph type="x-smartling-placeholder">- </ph>
createSession()
-
SpellCheckerService.Session
オブジェクトを、 スペルのチェックを希望しています
- サブクラス
-
- 実装:
SpellCheckerService.Session
- スペルチェック サービスがクライアントに提供する、 スペルチェックにテキストが渡され、候補が表示されます。この範囲内 次のメソッドを実装します。 <ph type="x-smartling-placeholder">
- </ph>
onCreate()
-
createSession()
。この方法では、SpellCheckerService.Session
オブジェクト その他の詳細を表示できます。 onGetSentenceSuggestionsMultiple()
- 実際のスペルチェックを行います。このメソッドは
SentenceSuggestionsInfo
文章の候補が生成されます。
必要に応じて
onCancel()
, スペルチェックのキャンセル リクエストを処理します。onGetSuggestions()
, 単語の候補リクエストを処理します。またはonGetSuggestionsMultiple()
, 単語候補のリクエストをバッチで処理します。 で確認できます。
- 実装:
スペルチェックのマニフェストとメタデータ
コードに加えて、適切なマニフェスト ファイルとメタデータを提供 ファイルが作成されます。
マニフェスト ファイルは、インフラストラクチャのアプリ、サービス、 設定の制御を示しています。次の例をご覧ください。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.samplespellcheckerservice" > <application android:label="@string/app_name" > <service android:label="@string/app_name" android:name=".SampleSpellCheckerService" android:permission="android.permission.BIND_TEXT_SERVICE" > <intent-filter > <action android:name="android.service.textservice.SpellCheckerService" /> </intent-filter> <meta-data android:name="android.view.textservice.scs" android:resource="@xml/spellchecker" /> </service> <activity android:label="@string/sample_settings" android:name="SpellCheckerSettingsActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> </application> </manifest>
サービスを使用するコンポーネントは権限をリクエストする必要がある
BIND_TEXT_SERVICE
システムのみがサービスにバインドされるようにします。サービスの定義
spellchecker.xml
メタデータ ファイルも指定します。
次のセクションで説明します。
メタデータ ファイル spellchecker.xml
には次のものが含まれます。
XML:
<spell-checker xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/spellchecker_name" android:settingsActivity="com.example.SpellCheckerSettingsActivity"> <subtype android:label="@string/subtype_generic" android:subtypeLocale="en” /> <subtype android:label="@string/subtype_generic" android:subtypeLocale="fr” /> </spell-checker>
メタデータは、スペルチェックが制御に使用するアクティビティを指定する 設定。また、スペルチェックのサブタイプも定義します。この例では、 サブタイプは、スペルチェックが処理できる言語 / 地域を定義します。
クライアントからスペルチェック サービスにアクセスする
使用するアプリ
TextView
、
EditText
ビューは自動的にスペルチェックの対象になります。これは、TextView
自動的にスペルチェックが使用されます。
ただし、Google Chat で 使用できます。次の図は、Kubernetes と API の間の制御のフローを スペルチェック サービスを使用する場合:
「 LatinIME インプット メソッド エディタをご覧ください。 役立ちます。