Framework per il controllo ortografico

La piattaforma Android offre un framework di controllo ortografico che ti consente implementare il controllo ortografico e accedervi nell'app. Il framework è uno dei API Text Service.

Per utilizzare il framework nella tua app, devi creare un servizio Android che genera un oggetto session di controllo ortografico. In base al testo che fornisci, l'oggetto sessione restituisce i suggerimenti ortografici generati dall'ortografia controllo.

Ciclo di vita del controllo ortografico

Il seguente diagramma mostra il ciclo di vita del servizio di controllo ortografico:

Un'immagine che mostra il ciclo di vita del servizio di controllo ortografico
. Figura 1. Il servizio di controllo ortografico durante il ciclo di vita di attività.

Per avviare il controllo ortografico, l'app avvia l'implementazione dell'ortografia di controllo qualità. Clienti nella tua app, ad esempio attività o singola UI richiede una sessione di controllo ortografico dal servizio, quindi usa la sessione per ottenere suggerimenti per il testo. Quando un client termina la propria operazione, viene chiusa la sessione di controllo ortografico. Se necessario, la tua app può disattivare l'incantesimo di controllo in qualsiasi momento.

Implementare un servizio di controllo ortografico

Per utilizzare il framework di controllo ortografico nella tua app, aggiungi un servizio di controllo ortografico che include la definizione dell'oggetto sessione. Puoi anche aggiungere attività facoltativa all'app che controlla le impostazioni. Aggiungere un file di metadati XML che descrive il servizio di controllo ortografico e aggiungi gli elementi appropriati alla del file manifest.

Classi di controllo ortografico

Definisci l'oggetto servizio e sessione con le seguenti classi:

  • Una sottoclasse SpellCheckerService
    L'SpellCheckerService implementa sia Service e l'interfaccia del framework di controllo ortografico. All'interno della sottoclasse, implementare il seguente metodo:
    createSession()
    Un metodo di fabbrica che restituisce un SpellCheckerService.Session oggetto a un client che vuole eseguire il controllo ortografico.
  • L'implementazione SpellCheckerService.Session
    Un oggetto fornito dal servizio di controllo ortografico ai client per consentire passare il testo al controllo ortografico e ricevere suggerimenti. All'interno di questo , implementa i seguenti metodi:
    onCreate()
    Chiamata dal sistema in risposta a createSession(). In questo metodo, puoi inizializzare l'oggetto SpellCheckerService.Session in base impostazioni internazionali correnti e altri dettagli.
    onGetSentenceSuggestionsMultiple()
    Consente di eseguire il controllo ortografico effettivo. Questo metodo restituisce un array di SentenceSuggestionsInfo contenente suggerimenti per le frasi passate.

    Facoltativamente, puoi implementare onCancel(), che gestisce le richieste di annullamento del controllo ortografico; onGetSuggestions(), che gestisce una richiesta di suggerimento di parole; o onGetSuggestionsMultiple(), che gestisce batch di richieste di suggerimenti di parole.

  • di Gemini Advanced.
.

File manifest e metadati del controllo ortografico

Oltre al codice, fornisci il file manifest appropriato e una serie di metadati per il controllo ortografico.

Il file manifest definisce l'app, il servizio e l'attività il controllo delle impostazioni, come illustrato nell'esempio seguente:

<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>

I componenti che vogliono utilizzare il servizio devono richiedere l'autorizzazione BIND_TEXT_SERVICE per garantire che solo il sistema si colleghi al servizio. Definizione del servizio specifica anche il file di metadati spellchecker.xml, che descritti nella prossima sezione.

Il file di metadati spellchecker.xml contiene quanto segue 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>

I metadati specificano l'attività utilizzata dal controllo ortografico per controllare impostazioni. Definisce anche i sottotipi per il controllo ortografico. In questo caso, definiscono le impostazioni internazionali gestibili dal controllo ortografico.

Accedere al servizio di controllo ortografico da un client

di app che utilizzano TextView e EditText di visualizzazioni traggono automaticamente vantaggio dal controllo ortografico, perché TextView usa automaticamente un controllo ortografico:

Un&#39;immagine che mostra come il controllo ortografico viene attivato automaticamente in EditText
. Figura 2. Il controllo ortografico in una EditText.

Tuttavia, potresti voler interagire direttamente con un servizio di controllo ortografico in in altri casi. Il seguente diagramma mostra il flusso di controllo per l'interazione con un servizio di controllo ortografico:

Un&#39;immagine che mostra il diagramma dell&#39;interazione con un servizio di controllo ortografico
. Figura 3. Interazione con un controllo ortografico completamente gestito di Google Cloud.

La LatinIME dell'editor del metodo di immissione del progetto open source Android, che contiene un esempio il controllo ortografico.