واجهات برمجة تطبيقات Android 4.0.3

مستوى واجهة برمجة التطبيقات: 15

‫Android 4.0.3 (ICE_CREAM_SANDWICH_MR1) هو إصدار تدريجي من عائلة الأنظمة الأساسية Android 4.0 (ICE_CREAM_SANDWICH). يتضمّن هذا الإصدار ميزات جديدة للمستخدمين والمطوّرين، وتغييرات في واجهة برمجة التطبيقات، وإصلاحات مختلفة للأخطاء.

تتوفّر منصّة Android 4.0.3 للمطوّرين كأحد المكونات التي يمكن تنزيلها لحزمة تطوير البرامج (SDK) لنظام التشغيل Android. تتضمّن المنصة القابلة للتنزيل مكتبة Android وصورة نظام، بالإضافة إلى مجموعة من أشكال المحاكي وغيرها. للبدء في تطوير التطبيقات أو اختبارها على نظام التشغيل Android 4.0.3، استخدِم "مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android" لتنزيل النظام الأساسي في حزمة SDK.

نظرة عامة على واجهة برمجة التطبيقات

تقدّم الأقسام أدناه نظرة عامة فنية على واجهات برمجة التطبيقات الجديدة في Android 4.0.3.

واجهة برمجة التطبيقات Social stream API في Contacts Provider

يمكن للتطبيقات التي تستخدم بيانات "البثّ الاجتماعي"، مثل آخر الأخبار وعمليات تسجيل الدخول، الآن مزامنة هذه البيانات مع كل جهات اتصال المستخدم، ما يوفر العناصر في بثّ مع الصور لكل منها.

يتم تحديد جدول قاعدة البيانات الذي يحتوي على خلاصة اجتماعية لجهة اتصال فردية بواسطة android.provider.ContactsContract.StreamItems، ويكون معرّف URI المرتبط به مضمّنًا في دليل ContactsContract.RawContacts الذي تنتمي إليه عناصر الخلاصة. يتضمّن كل جدول من جداول "البثّ على وسائل التواصل الاجتماعي" عدة أعمدة للبيانات الوصفية حول كل عنصر من عناصر البث، مثل رمز يمثّل المصدر (صورة رمزية) وتصنيف للعنصر والمحتوى النصي primary والتعليقات حول العنصر (مثل الردود من مستخدمين آخرين) وغيرها. يتم تخزين الصور المرتبطة ببث في جدول آخر، يتم تحديده من خلال android.provider.ContactsContract.StreamItemPhotos، والذي يتوفر كدليل فرعي لـ android.provider.ContactsContract.StreamItems Uri.

اطّلِع على android.provider.ContactsContract.StreamItems و android.provider.ContactsContract.StreamItemPhotos للحصول على مزيد من المعلومات.

لقراءة عناصر "البثّ الاجتماعي" لجهة اتصال أو كتابتها، يجب أن يطلب التطبيق إذنًا من المستخدم من خلال الإفصاح عن <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> و/أو <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> في ملفات البيان.

مقدّم خدمة التقويم
  • تُضيف الفئة CalendarContract.Colors لتمثيل جدول ألوان في موفِّر التقويم. توفّر الفئة حقولًا للوصول إلى الألوان المتاحة لحساب معيّن. تتم الإشارة إلى الألوان باستخدام العنصر COLOR_KEY الذي يجب أن يكون فريدًا لاسم أو نوع حساب معيّن. لا يمكن تعديل هذه القيم إلا من خلال محدِّم المزامنة.
  • إضافة ALLOWED_AVAILABILITY و ALLOWED_ATTENDEE_TYPES لإتاحة التبادل/المزامنة
  • إضافة TYPE_RESOURCE (مثل غرف المؤتمرات) للمشاركين وAVAILABILITY_TENTATIVE ، بالإضافة إلى EVENT_COLOR_KEY للفعاليات

التطبيقات المصغّرة على الشاشة الرئيسية

بدءًا من الإصدار 4.0 من Android، من المفترض ألّا تتضمّن التطبيقات المصغّرة على الشاشة الرئيسية مَساحات فارغة خاصة بها. بدلاً من ذلك، يضيف النظام الآن تلقائيًا مساحة فارغة لكل تطبيق مصغّر، استنادًا إلى خصائص الشاشة الحالية. يؤدي ذلك إلى عرض التطبيقات المصغّرة بشكلٍ أكثر اتساقًا وuniform في شبكة. لمساعدة التطبيقات التي تستضيف التطبيقات المصغّرة على الشاشة الرئيسية، توفّر المنصة طريقة جديدة getDefaultPaddingForWidget(). يمكن للتطبيقات استدعاء هذه الطريقة للحصول على المسافة البادئة التي يحدّدها النظام والأخذ بها عند احتساب عدد الخلايا التي يجب توزيعها على التطبيق المصغّر.

التدقيق الإملائي

  • بالنسبة إلى التطبيقات التي تصل إلى خدمات مدقّق الإملاء، تلغي طريقة cancel() الجديدة أي مهام مدقّق إملاء في انتظار المراجعة أو قيد التنفيذ في جلسة.
  • بالنسبة إلى خدمات التدقيق الإملائي، يتيح رمز الاقتراحات الجديد، RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS، للخدمات التمييز بين الاقتراحات التي تتمتع بدرجة ثقة أعلى والاقتراحات التي تتمتع بدرجة ثقة أقل. على سبيل المثال، يمكن أن يضبط مدقّق الأخطاء الإملائية العلامة إذا كانت الكلمة التي يتم إدخالها غير متوفّرة في قاموس المستخدم ولكن تتضمّن اقتراحات محتمَلة، أو لا يضبط العلامة إذا كانت الكلمة التي يتم إدخالها غير متوفّرة في القاموس وتتضمّن اقتراحات يُرجّح أن تكون أقل فائدة.

    يمكن للتطبيقات المرتبطة بأداة التدقيق الإملائي استخدام العلامة RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS بالاشتراك مع سمات الاقتراحات الأخرى، بالإضافة إلى الطريقتَين getSuggestionsAttributes() وgetSuggestionsCount()، لتحديد ما إذا كان سيتم وضع علامة على الكلمات التي يتم إدخالها كأخطاء إملائية وتقديم اقتراحات.

  • يشير النمط الجديد FLAG_AUTO_CORRECTION لمقاطع النص إلى أنّه سيتم قريبًا تطبيق التصحيح التلقائي على كلمة/نص يكتبه أو ينشئه المستخدم. يتم عرض هذا النوع من الاقتراحات بشكل مختلف للإشارة إلى أنّه يتم إجراء التصحيح التلقائي.

البلوتوث

تتيح الطريقتان العامتان الجديدتان fetchUuidsWithSdp() وgetUuids() للتطبيقات تحديد الميزات (أرقام تعريف UUID) المتوافقة مع جهاز عن بُعد. في حال fetchUuidsWithSdp()، يُجري النظام عملية اكتشاف الخدمة على الجهاز البعيد للحصول على أرقام تعريف UUID المتوافقة، ثم يُرسِل النتيجة في نية ACTION_UUID.

مجموعة أدوات واجهة المستخدم

تسمح الطريقتان الجديدتان setUserVisibleHint() و getUserVisibleHint() لقطعة المحتوى بتحديد تلميح بشأن ما إذا كانت مرئية للمستخدم حاليًا أم لا. ويؤجل المنظومة بدء تشغيل الأجزاء التي لا تظهر للمستخدم إلى أن يتم تشغيل أدوات التحميل الخاصة بالأجزاء المرئية. يكون تلميح مستوى الرؤية "صحيح" تلقائيًا.

الرسومات

تسهيل الاستخدام

  • يمكن الآن لعملاء RemoteViews استخدام الطريقة setContentDescription() لضبط وصف المحتوى لأي عرض والحصول عليه في التنسيق الموسّع.
  • تسمح الطُرق getMaxScrollX() getMaxScrollY() setMaxScrollX() setMaxScrollY() للتطبيقات بالحصول على الحد الأقصى لموضع التمرير وضبطه لعنصر AccessibilityRecord.
  • عند تفعيل وضع الاستكشاف باللمس، يشير إعداد آمن جديد ACCESSIBILITY_SPEAK_PASSWORD إلى ما إذا كان المستخدم يطلب من ميزة IME قراءة النص الذي يتم إدخاله في حقول كلمات المرور، حتى في حال عدم استخدام سماعات رأس. لا يتم قول نص كلمة المرور تلقائيًا ما لم تكن هناك سماعة رأس قيد الاستخدام.

نص إلى كلام

  • إضافة الطريقة الجديدة getFeatures()للاستعلام عن إتاحة ميزة تحويل النص إلى كلام على الشبكة وتفعيلها
  • تضيف فئة مستمع جديدة، UtteranceProgressListener، يمكن للمحرّكات تسجيلها لتلقّي إشعارات بشأن أخطاء تركيب الكلام.

قاعدة البيانات

  • تتيح فئة CrossProcessCursorWrapper الجديدة لموفّري المحتوى عرض نتائج طلبات البحث على مستوى جميع العمليات بكفاءة أكبر. تمثل الخطوة الجديدة فئة أساسية مفيدة لتغليف المؤشرات التي سيتم إرسالها إلى العمليات عن بُعد. ويمكنه أيضًا تحويل Cursor العناصر العادية إلى CrossProcessCursor عناصر بشكلٍ سلس.

    تعمل فئة CrossProcessCursorWrapper على حلّ مشكلات الأداء والأخطاء الشائعة التي واجهتها التطبيقات عند تنفيذ موفّري المحتوى.

  • يقبل الآن المُنشئ CursorWindow(java.lang.String) سلسلة اسم كإدخال. لم يعُد النظام يميز بين نافذتَي المؤشر المحلية والبعيدة، لذا تم إيقاف CursorWindow(boolean) نهائيًا.

مكان ووقت الاستماع إلى الموسيقى

إضافة فئات جديدة لاستهداف الأنواع الشائعة من التطبيقات على الجهاز، مثل CATEGORY_APP_BROWSER وCATEGORY_APP_CALENDAR وCATEGORY_APP_MAPS والمزيد

الكاميرا

الأذونات

في ما يلي الأذونات الجديدة:

  • ‫android.Manifest.permission#READ_SOCIAL_STREAM و android.Manifest.permission#WRITE_SOCIAL_STREAM: السماح لمحوِّل المزامنة بقراءة بيانات "البثّ الاجتماعي" وكتابتها في جهة اتصال في "موفِّر جهات الاتصال" المشترَك

للحصول على عرض تفصيلي لجميع التغييرات في واجهة برمجة التطبيقات في الإصدار 4.0.3 من نظام التشغيل Android (المستوى 15 لواجهة برمجة التطبيقات)، اطّلِع على تقرير الاختلافات في واجهة برمجة التطبيقات.

مستوى واجهة برمجة التطبيقات

تم منح واجهة برمجة التطبيقات لنظام التشغيل Android 4.0.3 معرّفًا عدديًا هو 15 ويتم تخزينه في النظام نفسه. يُعرف هذا المعرّف باسم "مستوى واجهة برمجة التطبيقات"، ويسمح للنظام بتحديد ما إذا كان التطبيق متوافقًا مع النظام بشكلٍ صحيح قبل تثبيته.

لاستخدام واجهات برمجة التطبيقات التي تم طرحها في الإصدار 4.0.3 من نظام التشغيل Android في تطبيقك، عليك تجميع التطبيق على نظام أساسي لنظام التشغيل Android متوافق مع المستوى 15 من واجهة برمجة التطبيقات أو أعلى. استنادًا إلى احتياجاتك، قد تحتاج أيضًا إلى إضافة سمة android:minSdkVersion="15" إلى العنصر <uses-sdk>.

لمزيد من المعلومات، يُرجى الاطّلاع على مستند مستويات واجهة برمجة التطبيقات.