맞춤법 검사기 프레임워크

Android 플랫폼에서 제공하는 맞춤법 검사기 프레임워크를 사용하면 앱에서 맞춤법 검사를 구현하고 액세스할 수 있습니다. 이 프레임워크는 Text Service API를 제공합니다.

앱에서 프레임워크를 사용하려면 맞춤법 검사기 세션 객체를 생성합니다. 제공한 텍스트를 기반으로 세션 객체는 맞춤법에 의해 생성된 맞춤법 추천을 반환합니다. 검사기

맞춤법 검사기 수명 주기

다음 다이어그램은 맞춤법 검사기 서비스의 수명 주기를 보여줍니다.

맞춤법 검사기 서비스의 수명 주기를 보여주는 이미지
그림 1. 맞춤법 검사기 서비스 수명 주기 동안 사용됩니다

맞춤법 검사를 시작하려면 앱에서 맞춤법 구현을 시작합니다. 검사기 서비스입니다. 앱의 클라이언트(예: 활동, 개별 UI) 서비스에서 맞춤법 검사기 세션을 요청한 다음 해당 세션을 사용하여 텍스트를 추천할 수 있습니다 클라이언트가 작업을 종료하면 확인할 수 있습니다. 필요한 경우 앱에서 주문을 종료할 수 있습니다. 할 수 있습니다.

맞춤법 검사기 서비스 구현

앱에서 맞춤법 검사기 프레임워크를 사용하려면 맞춤법 검사기 서비스를 추가하세요. 구성 요소를 정의합니다. 또한 설정을 제어하는 선택적 활동을 앱에 추가합니다. XML 메타데이터 파일 추가 을 작성하고, 맞춤법 검사기 서비스를 설명하는 적절한 요소를 매니페스트 파일에 포함됩니다

맞춤법 검사기 클래스

다음 클래스로 서비스와 세션 객체를 정의하세요.

  • 하위 클래스 SpellCheckerService
    SpellCheckerService는 <ph type="x-smartling-placeholder">Service</ph> 클래스와 맞춤법 검사기 프레임워크 인터페이스를 지원합니다. 서브클래스 내에서 다음 메서드를 구현합니다. <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(), 이 함수는 단어 제안 요청을 일괄 처리합니다.

  • 를 통해 개인정보처리방침을 정의할 수 있습니다.
를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">

맞춤법 검사기 매니페스트 및 메타데이터

코드 외에 적절한 매니페스트 파일과 메타데이터도 제공 파일을 찾습니다.

매니페스트 파일은 매니페스트 파일에 대한 앱, 서비스 및 설정을 제어해야 합니다.

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

메타데이터는 맞춤법 검사기가 제어하는 데 사용하는 활동을 지정합니다. 설정을 변경할 수 있습니다. 또한 맞춤법 검사기의 하위유형도 정의합니다. 이 경우 하위유형은 맞춤법 검사기가 처리할 수 있는 언어를 정의합니다.

클라이언트에서 맞춤법 검사기 서비스에 액세스

사용하는 앱을 TextViewEditText 보기가 자동으로 맞춤법 검사의 이점을 누리게 됩니다. TextView 는 자동으로 맞춤법 검사기를 사용합니다.

EditText에서 맞춤법 검사기가 자동으로 사용 설정되는 방식을 보여주는 이미지
그림 2. 맞춤법 검사 EditText

하지만, 맞춤법 검사기 서비스와 직접 상호 작용하는 다른 경우에 해당합니다 다음 다이어그램은 상호작용의 제어 흐름을 보여줍니다. 사용해 보세요.

맞춤법 검사기 서비스와의 상호작용을 보여주는 이미지
그림 3. 맞춤법 검사기와의 상호작용 있습니다.

라틴 IME Android 오픈소스 프로젝트의 입력 방식 편집기(IME)에는 사용할 수 있습니다.