مستوى واجهة برمجة التطبيقات: 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
للفعاليات
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()
لقطعة المحتوى
بتحديد تلميح بشأن ما إذا كانت مرئية للمستخدم حاليًا أم لا. ويؤجل المنظومة بدء تشغيل الأجزاء التي لا تظهر للمستخدم إلى أن يتم تشغيل أدوات التحميل الخاصة بالأجزاء المرئية. يكون تلميح مستوى الرؤية "صحيح" تلقائيًا.
الرسومات
- تضبط الطريقة الجديدة
setDefaultBufferSize(int, int)
فيSurfaceTexture
الحجم التلقائي لمخازن معالجة الصور. يمكن استخدام هذه الطريقة لضبط حجم الصورة عند إنشاء الصور باستخدامCanvas
(من خلالlockCanvas(Rect)
) أو OpenGL ES (من خلال EGLSurface). - تُضيف تعريفات لقائمة القيم المحدَّدة لملحق GL_OES_EGL_image_external في OpenGL ES، وهي:
GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
وGL_SAMPLER_EXTERNAL_OES
وGL_TEXTURE_BINDING_EXTERNAL_OES
وGL_TEXTURE_EXTERNAL_OES
.
تسهيل الاستخدام
- يمكن الآن لعملاء
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
والمزيد
الكاميرا
MediaMetadataRetriever
تضيف الثابتة الجديدةMETADATA_KEY_LOCATION
للسماح للتطبيقات بالوصول إلى معلومات الموقع الجغرافي لصورة أو فيديو.CamcorderProfile
تضيف الملفات الشخصية دقة QVGA (320×240). يتم تمثيل مستوى الجودة بالثابتينQUALITY_QVGA
وQUALITY_TIME_LAPSE_QVGA
.- تتيح لك الطرق الجديدة
setVideoStabilization()
وgetVideoStabilization()
وisVideoStabilizationSupported()
التحقّق من ميزة تثبيت الفيديو وإدارتها فيCamera
.
الأذونات
في ما يلي الأذونات الجديدة:
- 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>
.
لمزيد من المعلومات، يُرجى الاطّلاع على مستند مستويات واجهة برمجة التطبيقات.