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:
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 siaService
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.
- Una sottoclasse
-
- 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'oggettoSpellCheckerService.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; oonGetSuggestionsMultiple()
, che gestisce batch di richieste di suggerimenti di parole. di Gemini Advanced.
- L'implementazione
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:
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:
La LatinIME dell'editor del metodo di immissione del progetto open source Android, che contiene un esempio il controllo ortografico.