Platforma Android udostępnia platformę sprawdzania pisowni, która pozwala zaimplementować i uzyskać dostęp do sprawdzania pisowni w aplikacji. Platforma ta jest jednym Interfejsy API usługi tekstowej.
Aby korzystać z tej platformy w swojej aplikacji, musisz utworzyć usługę na Androida, która generuje obiekt sprawdzania pisowni session. Na podstawie podanego przez Ciebie tekstu obiekt sesji zwraca sugestie pisowni wygenerowane przez zaklęcie sprawdzania.
Cykl sprawdzania pisowni
Poniższy diagram przedstawia cykl życia usługi sprawdzania pisowni:
Aby rozpocząć sprawdzanie pisowni, aplikacja rozpoczyna implementację pisowni usługi sprawdzania treści. Klienty w aplikacji, na przykład związane z aktywnościami lub indywidualnym interfejsem użytkownika wysyła żądanie sesji sprawdzania pisowni do usługi, a następnie aby uzyskać sugestie dotyczące tekstu. Gdy klient kończy swoją operację, zostaje zamknięta w jej sesji sprawdzania pisowni. W razie potrzeby aplikacja może wyłączyć zaklęcie usługi sprawdzania treści.
Wdrażanie usługi sprawdzania pisowni
Aby używać platformy sprawdzania pisowni w aplikacji, dodaj usługę sprawdzania pisowni , który zawiera definicję obiektu sesji. Możesz też dodać opcjonalną aktywność w aplikacji, która zarządza ustawieniami. Dodaj plik XML metadanych opisuje usługę sprawdzania pisowni i dodaje odpowiednie elementy do pliku manifestu.
Klasy sprawdzania pisowni
Zdefiniuj obiekt usługi i sesji za pomocą tych klas:
-
- Podklasa
SpellCheckerService
SpellCheckerService
implementuje zarównoService
i interfejs platformy sprawdzania pisowni. W ramach podklasy zastosuj następującą metodę:createSession()
- Metoda fabryczna, która zwraca
SpellCheckerService.Session
do klienta, który chce sprawdzić pisownię.
- Podklasa
-
- Implementacja
SpellCheckerService.Session
- Obiekt udostępniany przez usługę sprawdzania pisowni klientom, aby umożliwić przekazują tekst do sprawdzania pisowni i otrzymują sugestie. W ciągu klasy, zaimplementuj te metody:
onCreate()
- Wywołane przez system w odpowiedzi na
createSession()
W tej metodzie możesz obiektuSpellCheckerService.Session
na podstawie dotyczące bieżącego języka i innych szczegółów. onGetSentenceSuggestionsMultiple()
- Sprawdza pisownię. Ta metoda zwraca tablicę
SentenceSuggestionsInfo
zawierające sugestie dotyczące przekazanych zdań.
Opcjonalnie możesz zaimplementować
onCancel()
, który obsługuje żądania anulowania sprawdzania pisowni;onGetSuggestions()
, który obsługuje żądania sugerowania słów; lubonGetSuggestionsMultiple()
, który obsługuje całe grupy próśb o sugerowanie słów. .
- Implementacja
Plik manifestu i metadane sprawdzania pisowni
Oprócz kodu przygotuj odpowiedni plik manifestu i metadane. w sekcji sprawdzania pisowni.
Plik manifestu określa aplikację, usługę i aktywność dla jak sterować ustawieniami, jak w poniższym przykładzie:
<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>
Komponenty, które chcą korzystać z usługi, muszą poprosić o odpowiednie uprawnienia
BIND_TEXT_SERVICE
aby mieć pewność, że tylko system będzie powiązany z usługą. Definicja usługi
określa też plik metadanych spellchecker.xml
, który jest
opisane w następnej sekcji.
Plik metadanych spellchecker.xml
zawiera te elementy
Plik 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>
Metadane określają działanie, którego moduł sprawdzania pisowni używa ustawieniach. Definiuje też podtypy modułu sprawdzania pisowni. W tym przypadku parametr podtypy definiują języki obsługiwane przez moduł sprawdzania pisowni.
Uzyskiwanie dostępu do usługi sprawdzania pisowni z poziomu klienta
aplikacje, które używają
TextView
i
EditText
wyświetlenia automatycznie korzystają ze sprawdzania pisowni, ponieważ TextView
automatycznie używa sprawdzania pisowni:
Możesz jednak korzystać bezpośrednio z usługi sprawdzania pisowni w innych przypadkach. Poniższy diagram przedstawia przepływ elementów sterujących interakcji z usługą sprawdzania pisowni:
Ameryka Łacińska edytor metody wprowadzania w projekcie Android Open Source zawiera przykład sprawdzania pisowni.