Narzędzie sprawdzania pisowni

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:

Obraz pokazujący cykl życia usługi sprawdzania pisowni
Rysunek 1. Usługa sprawdzania pisowni cyklu życia usługi.

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ówno Service 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ę.
  • 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 obiektu SpellCheckerService.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; lub onGetSuggestionsMultiple(), który obsługuje całe grupy próśb o sugerowanie słów.

  • .
.

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:

Obraz przedstawiający automatyczne włączanie sprawdzania pisowni w EditText
Rysunek 2. Sprawdzanie pisowni w EditText

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:

Obraz przedstawiający schemat interakcji z usługą sprawdzania pisowni
Rysunek 3. Interakcja ze sprawdzaniem pisowni posprzedażna.

Ameryka Łacińska edytor metody wprowadzania w projekcie Android Open Source zawiera przykład sprawdzania pisowni.