يوفر نظام Android الأساسي إطار عمل للمدقق الإملائي الذي يتيح لك وتنفيذ التدقيق الإملائي والوصول إليه في تطبيقك. إطار العمل هو أحد واجهات برمجة التطبيقات للخدمات النصية.
لاستخدام إطار العمل في تطبيقك، عليك إنشاء خدمة Android ينشئ كائن session المدقّق الإملائي. بناءً على النص الذي تقدمه، يقوم كائن الجلسة بإرجاع اقتراحات إملائية تم إنشاؤها بواسطة التعويذة مدقق الفيديو.
دورة حياة المدقق الإملائي
يوضح المخطّط التالي دورة حياة خدمة المدقق الإملائي:
لبدء التدقيق الإملائي، يبدأ تطبيقك في تنفيذ التدقيق الإملائي. خدمة التحقق من المعلنين. العملاء في تطبيقك، مثل الأنشطة أو واجهة المستخدم الفردية اطلب جلسة مدقق إملائي من الخدمة، ثم استخدم الجلسة للحصول على اقتراحات للنص. وعندما ينهي العميل عمله، يتم إغلاقه. جلسة المدقق الإملائي. إذا لزم الأمر، يمكن لتطبيقك إيقاف هذه الميزة التحقق في أي وقت.
تنفيذ خدمة المدقق الإملائي
لاستخدام إطار عمل المدقّق الإملائي في تطبيقك، عليك إضافة خدمة للتدقيق الإملائي. يتضمن تعريف كائن الجلسة. يمكنك أيضًا إضافة نشاط اختياري إلى تطبيقك يتحكّم في الإعدادات. إضافة ملف بيانات وصفية بتنسيق XML تصف خدمة المدقق الإملائي وإضافة العناصر المناسبة إلى ملف البيان.
دورات في المدقق الإملائي
عرِّف كائن الخدمة والجلسة من خلال الفئات التالية:
-
- فئة فرعية من
SpellCheckerService
- تنفذ
SpellCheckerService
كلاً منService
فئة وواجهة إطار عمل المدقق الإملائي. في فئتك الفرعية، تنفيذ الطريقة التالية:createSession()
- طريقة المصنع التي يتم إرجاعها
كائن
SpellCheckerService.Session
إلى عميل يريد إجراء تدقيق إملائي.
- فئة فرعية من
-
- يعد تنفيذ
SpellCheckerService.Session
- كائن توفّره خدمة المدقق الإملائي للعملاء للسماح له بتمرير النص إلى المدقق الإملائي وتلقي الاقتراحات. ضمن هذه ، فقم بتنفيذ الطرق التالية:
onCreate()
- استدعى النظام ردًا على
createSession()
في هذه الطريقة، يمكنك تهيئة كائنSpellCheckerService.Session
استنادًا إلى اللغة الحالية والتفاصيل الأخرى. onGetSentenceSuggestionsMultiple()
- يتم إجراء التدقيق الإملائي الفعلي. تُرجع هذه الطريقة صفيفًا من
SentenceSuggestionsInfo
يحتوي على اقتراحات للجمل التي تم تمريرها إليه.
اختياريًا، يمكنك تنفيذ
onCancel()
, الذي يعالج طلبات إلغاء التدقيق الإملائي؛onGetSuggestions()
, الذي يعالج طلب اقتراح الكلمات أوonGetSuggestionsMultiple()
, الذي يعالج مجموعات من طلبات اقتراحات الكلمات. - يعد تنفيذ
بيان المدقق الإملائي والبيانات الوصفية
بالإضافة إلى الرمز البرمجي، يجب توفير ملف البيان المناسب وبيانات وصفية للمدقق الإملائي.
يعمل ملف البيان على تحديد التطبيق والخدمة والنشاط التحكم في الإعدادات، كما هو موضح في المثال التالي:
<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>
تحدد البيانات الوصفية النشاط الذي يستخدمه المدقق الإملائي للتحكم الإعدادات. كما تحدد الأنواع الفرعية للمدقق الإملائي. في هذه الحالة، والأنواع الفرعية تحدد اللغات التي يمكن للمدقق الإملائي التعامل معها.
الوصول إلى خدمة المدقق الإملائي من برنامج
التطبيقات التي تستخدم
TextView
و
EditText
يستفيد عدد المشاهدات تلقائيًا من التدقيق الإملائي، لأن TextView
يستخدم المدقق الإملائي تلقائيًا:
ومع ذلك، قد ترغب في التفاعل مباشرة مع خدمة المدقق الإملائي في في حالات أخرى. يوضح الرسم التخطيطي التالي تدفق التحكم في التفاعل باستخدام خدمة المدقق الإملائي:
تشير رسالة الأشكال البيانية محرر أسلوب الإدخال اللاتيني محرر أسلوب الإدخال في "المشروع المفتوح المصدر لنظام Android" الذي يحتوي على مثال التدقيق الإملائي.