Android 1.6 r2
Google Inc.
compatibility@android.com
محتويات
1. المقدمة ................................................................................................................... 4
2. المراجع ...................................................................................................................... 4
3- البرامج ......................................................................................................................... 5
3.1. توافق واجهات برمجة التطبيقات المُدارة ................................................................................... 5
3.2. التوافق مع واجهة برمجة التطبيقات ............................................................................................ 6
3.2.1. الأذونات...................................................................................................... 6
3.2.2. مَعلمات الإنشاء .................................................................................................... 6
3.2.3. توافق الغرض................................................................................................ 8
3.2.3.1. نوايا التطبيقات الأساسية ................................................................................ 8
3.2.3.2. إلغاء الأهداف ................................................................................................ 8
3.2.3.3. مساحات أسماء الأهداف................................................................................ 8
3.2.3.4. نوايا البث ...................................................................................... 9
3.3. التوافق مع واجهة برمجة التطبيقات الأصلية ........................................................................................ 9
3.4. توافق Web API ........................................................................................... 9
3.5. التوافق السلوكي لواجهة برمجة التطبيقات................................................................................ 10
3.6. مساحات أسماء واجهة برمجة التطبيقات................................................................................................ 10
3.7. توافق الأجهزة الافتراضية ............................................................................. 11
3.8. توافق واجهة المستخدم ................................................................................ 11
3.8.1. التطبيقات المصغّرة ........................................................................................................... 11
3.8.2. الإشعارات ................................................................................................... 12
3.8.3. Search ............................................................................................................. 12
3.8.4. نخب.............................................................................................................. 12
4. توافق البرامج المرجعية ............................................................................. 12
5- توافق حِزم التطبيقات ........................................................................................ 13
6. التوافق مع الوسائط المتعددة............................................................................................ 13
7. توافق أدوات المطوّرين................................................................................................ 14
8. التوافق مع الأجهزة .............................................................................................. 15
8.1. الشاشة ................................................................................................................... 15
8.1.1. إعدادات العرض العادية ................................................................. 15
8.1.2. إعدادات العرض غير العادية ................................................................ 16
8.1.3. مقاييس الشبكة الإعلانية............................................................................................... 16
8.2. لوحة المفاتيح ............................................................................................................... 16
8.3. التنقّل بدون لمس الشاشة .......................................................................................... 16
8.4. اتجاه الشاشة................................................................................................ 17
8.5. الإدخال من خلال شاشة تعمل باللمس................................................................................ 17
8.6. منفذ USB ........................................................................................................................ 17
8.7. مفاتيح التنقّل ................................................................................................... 17
8.8. Wi-Fi ........................................................................................................................ 17
8.9. الكاميرا .................................................................................................................. 18
8.9.1. الكاميرات التي لا تتضمّن ميزة ضبط التركيز التلقائي ............................................................................... 18
8.10. مقياس التسارع..................................................................................................... 18
8.11. البوصلة ................................................................................................................ 19
8.12. نظام تحديد المواقع العالمي (GPS) ................................................................................................................ 19
8.13. الاتصالات الهاتفية............................................................................................................ 19
8.14. عناصر التحكّم في مستوى الصوت.................................................................................................. 19
9- التوافق مع الأداء................................................................................................ 19
10. توافق نموذج الأمان ................................................................................... 20
10.1. الأذونات ........................................................................................................ 20
10.2. عزل المستخدمين والعمليات ................................................................................... 20
10.3. أذونات نظام الملفات..................................................................................... 21
11. مجموعة أدوات اختبار التوافق ........................................................................................... 21
12. التواصل معنا ................................................................................................................. 21
الملحق أ: أغراض التطبيقات المطلوبة ................................................................... 22
الملحق ب: أغراض البث المطلوبة ....................................................................... 0
الملحق ج: اعتبارات مستقبلية................................................................................ 0
1. الأجهزة غير الهاتفية ................................................................................................ 30
2. التوافق مع البلوتوث ................................................................................................ 30
3. مكوّنات الأجهزة المطلوبة................................................................................ 30
4- نماذج التطبيقات ............................................................................................................... 30
5- الشاشات التي تعمل باللمس ............................................................................................................ 30
6. الأداء............................................................................................................. 31
1. المقدمة
يسرد هذا المستند المتطلبات التي يجب استيفاؤها لكي تكون الهواتف الجوّالة
متوافقة مع Android 1.6. يفترض هذا التعريف معرفة برنامج التوافق مع Android
[Resources, 1].
يتم استخدام "يجب" و"يجب عدم" و"مطلوب" و"يجب" و"يجب عدم" و"يجب" و"يجب عدم" و"مُستحسَن" و
"يجوز" و "اختياري" وفقًا لمعيار IETF المحدَّد في RFC2119 [الموارد، 2].
وفقًا للاستخدام المُشار إليه في هذا المستند، يشير "منفذ الجهاز" أو "منفذ" إلى شخص أو مؤسسة تطوّر
حلًّا للأجهزة أو البرامج يعمل بنظام التشغيل Android 1.6. "تنفيذ الجهاز" أو "التنفيذ" هو
حلّ الأجهزة/البرامج الذي تم تطويره.
لكي تكون عمليات تنفيذ الأجهزة متوافقة مع Android 1.6، يجب استيفاء الشروط التالية:
1- يجب أن تستوفي المتطلبات الواردة في تعريف التوافق هذا، بما في ذلك أي مستندات
تم دمجها من خلال الإشارة إليها.
2. يجب أن يجتاز اختبار مجموعة أدوات اختبار التوافق (CTS) لنظام Android المتوفّر كجزء من
المشروع المفتوح المصدر لنظام Android [المصادر، 3]. يختبر CTS معظم المكوّنات الموضّحة في هذا
المستند، ولكن ليس جميعها.
في حال عدم توفّر معلومات في هذا التعريف أو مجموعة اختبار التوافق (CTS) أو كانت المعلومات غير واضحة أو غير مكتملة، تقع على عاتق
منفذ الجهاز مسؤولية ضمان التوافق مع عمليات التنفيذ الحالية. لهذا السبب، يُعدّ "مشروع مفتوح المصدر لنظام Android" [المراجع، 4] الإصدار المرجعي والمفضّل من نظام Android.
ننصح
جهات تنفيذ الأجهزة بشدة ببناء عمليات التنفيذ الخاصة بها على رمز المصدر "الأساسي"
المتوفّر من "مشروع Android المفتوح المصدر". على الرغم من أنّه يمكن نظريًا استبدال بعض المكوّنات
بعمليات تنفيذ بديلة، لا يُنصح بشدة بتنفيذ هذه الممارسة، لأنّ اجتياز اختبارات CTS سيصبح
أكثر صعوبة بشكل كبير. تقع على عاتق الجهة المنفِّذة مسؤولية ضمان التوافق السلوكي الكامل مع
تنفيذ Android العادي، بما في ذلك مجموعة أدوات اختبار التوافق وما بعد ذلك.
2- المراجع
يشير تعريف التوافق هذا إلى عدد من المراجع التي يمكن الحصول عليها هنا.
1. نظرة عامة على "برنامج التوافق مع Android": https://sites.google.com/a/android.com/compatibility/
how-it-works
2. مستويات متطلبات RFC2119 من IETF: http://www.ietf.org/rfc/rfc2119.txt
3. مجموعة اختبار التوافق: http://sites.google.com/a/android.com/compatibility/compatibility-test-
suite--cts
4. مشروع مفتوح المصدر لنظام Android: http://source.android.com/
5- تعريفات واجهة برمجة التطبيقات والمستندات المتعلّقة بها: http://developer.android.com/reference/packages.html
6. موفِّري المحتوى: http://code.google.com/android/reference/android/provider/package-
summary.html
7. الموارد المتاحة: http://code.google.com/android/reference/available-resources.html
8. ملفات بيان Android: http://code.google.com/android/devel/bblocks-manifest.html
9. مرجع أذونات Android: http://developer.android.com/reference/android/
Manifest.permission.html
10. الثوابت المتعلقة بالإصدار: http://developer.android.com/reference/android/os/Build.html
11. WebView: http://developer.android.com/reference/android/webkit/WebView.html
12. إضافات متصفّح Gears: http://code.google.com/apis/gears/
13. مواصفات Dalvik Virtual Machine، المتوفّرة في دليل dalvik/docs ضمن عملية التحقق من رمز المصدر
، والمتوفّرة أيضًا على الرابط http://android.git.kernel.org/?p=platform/
dalvik.git;a=tree;f=docs;h=3e2ddbcaf7f370246246f9f03620a7caccbfcb12;hb=HEAD
14. تطبيقات التطبيقات المصغّرة: http://developer.android.com/guide/practices/ui_guidelines/widget_design.html
15. الإشعارات: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
16. دليل أسلوب رموز شريط الحالة: http://developer.android.com/guide/practices/ui_guideline
/icon_design.html#statusbarstructure
17. Search Manager: http://developer.android.com/reference/android/app/SearchManager.html
18. Toast: http://developer.android.com/reference/android/widget/Toast.html
19. تطبيقات Android: http://code.google.com/p/apps-for-android
20. وصف ملف apk لنظام التشغيل Android: http://developer.android.com/guide/topics/fundamentals.html
21. Android Debug Bridge (adb): http://code.google.com/android/reference/adb.html
22. خدمة Dalvik Debug Monitor Service (ddms): http://code.google.com/android/reference/ddms.html
23. Monkey: http://developer.android.com/guide/developing/tools/monkey.html
24. مستندات استقلالية الشاشة:
25. الثوابت المتعلقة بالإعدادات: http://developer.android.com/reference/android/content/res/
Configuration.html
26. مقاييس الشاشة: http://developer.android.com/reference/android/util/DisplayMetrics.html
27. الكاميرا: http://developer.android.com/reference/android/hardware/Camera.html
28. مساحة إحداثيات أداة الاستشعار: http://developer.android.com/reference/android/hardware/
SensorEvent.html
29. مرجع أمان Android وأذوناته: http://developer.android.com/guide/topics/security/
security.html
تم الحصول على العديد من هذه المراجع مباشرةً أو بشكل غير مباشر من حزمة تطوير البرامج (SDK) لنظام التشغيل Android 1.6، وستكون
متطابقة من الناحية الوظيفية مع المعلومات الواردة في مستندات حزمة SDK هذه. في أيّ حالات يتعارض فيها هذا
تعريف التوافق مع مستندات حزمة SDK، تُعتبر مستندات حزمة SDK
موثوقًا بها. وإنّ أي تفاصيل فنية مقدَّمة في المراجع المضمّنة أعلاه تُعدّ
جزءًا من تعريف التوافق هذا.
3- البرامج
يتضمّن نظام Android مجموعة من واجهات برمجة التطبيقات المُدارة ("الثابتة") ومجموعة من واجهات برمجة التطبيقات المُسمّاة "اللينة"
، مثل نظام Intent وواجهات برمجة التطبيقات للترميز الأصلي وواجهات برمجة التطبيقات لتطبيقات الويب. يوضّح هذا القسم واجهات برمجة التطبيقات الثابتة و
القابلة للتغيير التي تشكّل جزءًا لا يتجزأ من التوافق، بالإضافة إلى بعض السلوكيات الفنية و
لواجهة المستخدم ذات الصلة. يجب أن تمتثل عمليات تنفيذ الأجهزة لجميع المتطلبات الواردة في هذا القسم.
3.1. التوافق مع واجهات برمجة التطبيقات المُدارة
بيئة التنفيذ المُدارة (المستندة إلى Dalvik) هي الوسيلة الأساسية لتطبيقات Android.
واجهة برمجة تطبيقات Android هي مجموعة من واجهات نظام Android الأساسية التي يتم عرضها
للتطبيقات التي تعمل في بيئة الجهاز الظاهري المُدار. يجب أن تقدّم عمليات التنفيذ على الأجهزة
عمليات تنفيذ كاملة، بما في ذلك جميع السلوكيات الموثَّقة، لأي واجهة برمجة تطبيقات موثَّقة يوفّرها حزمة تطوير البرامج (SDK) لنظام التشغيل Android
1.6، مثل:
1. واجهات برمجة التطبيقات الأساسية بلغة Java في Android [Resources, 5].
2. موفّرو المحتوى [Resources, 6].
3. المصادر [Resources, 7].
4. سمات وعناصر AndroidManifest.xml [Resources، 8]
يجب ألا تحذف عمليات تنفيذ الأجهزة أي واجهات برمجة تطبيقات مُدارة أو تغيّر واجهات برمجة التطبيقات أو توقيعاتها أو تنحرف
عن السلوك المُوثَّق أو تتضمّن عمليات لا تؤدي إلى أيّ تأثير، إلا في الحالات التي يسمح فيها تعريف التوافق
هذا بذلك على وجه التحديد.
3.2. التوافق مع واجهات برمجة التطبيقات "السهلة"
بالإضافة إلى واجهات برمجة التطبيقات المُدارة من القسم 3.1، يتضمّن Android أيضًا واجهة برمجة تطبيقات "سهلة"
مهمة تعمل فقط أثناء وقت التشغيل، وذلك في شكل عناصر مثل النوايا والأذونات والجوانب المشابهة لتطبيقات Android
التي لا يمكن فرضها في وقت تجميع التطبيق. يوضّح هذا القسم واجهات برمجة التطبيقات و
سلوكيات النظام "السهلة" المطلوبة للتوافق مع Android 1.6. يجب أن تستوفي عمليات تنفيذ الأجهزة جميع
المتطلبات الواردة في هذا القسم.
3.2.1. الأذونات
على جهات تنفيذ الأجهزة توفير جميع الثوابت المتعلّقة بالأذونات وفرضها على النحو الموضّح في
صفحة مرجع الأذونات [الموارد، 9]. يُرجى العلم أنّ القسم 10 يسرد متطلبات إضافية متعلقة
بنموذج أمان Android.
3.2.2. مَعلمات الإصدار
تتضمّن واجهات برمجة تطبيقات Android عددًا من الثوابت في فئة android.os.Build [Resources, 10] المخصّصة
لوصف الجهاز الحالي. لتوفير قيم متسقة ومفيدة في جميع عمليات
تنفيذ الأجهزة، يتضمّن الجدول أدناه قيودًا إضافية على تنسيقات هذه القيم التي يجب أن تتوافق معها
عمليات تنفيذ الأجهزة.
المَعلمة
التعليقات
يشير ذلك إلى إصدار نظام Android الذي يتم تنفيذه حاليًا، بتنسيق يمكن لشخص عادي قراءته
android.os.Build.VERSION.RELEASE
. بالنسبة إلى Android 1.6، يجب أن يحتوي هذا الحقل على القيمة
"1.6".
إصدار نظام Android الذي يتم تنفيذه حاليًا، بتنسيق
android.os.Build.VERSION.SDK
يمكن لرمز التطبيق التابع لجهة خارجية الوصول إليه. بالنسبة إلى Android 1.6،
يجب أن يحتوي هذا الحقل على القيمة الصحيحة 4.
قيمة يختارها مُنفِّذ الجهاز لتحديد الإصدار المحدّد
من نظام Android الذي يتم تنفيذه حاليًا، بتنسيق يسهل على المستخدم قراءته.
يجب عدم إعادة استخدام هذه القيمة لإصدارات مختلفة يتم شحنها إلى مستخدمي
android.os.Build.VERSION.INCREMENTAL الأخيرين. من الاستخدامات الشائعة لهذا الحقل الإشارة إلى رقم الإصدار أو
معرّف تغيير التحكّم في المصدر الذي تم استخدامه لإنشاء الإصدار. ليس
هناك متطلبات خاصة بتنسيق هذا الحقل، باستثناء أنّه
يجب ألّا يكون فارغًا أو سلسلة فارغة ("").
قيمة يختارها مُنفِّذ الجهاز لتحديد
الجهاز الداخلي المحدّد المستخدَم في الجهاز، بتنسيق يسهل على المستخدم قراءته. من بين الاستخدامات المحتملة لهذا الحقل
android.os.Build.BOARD
الإشارة إلى المراجعة المحدّدة للوحة التي تشغّل
الجهاز. ما مِن متطلبات بشأن التنسيق المحدّد لهذا الحقل،
باستثناء أنّه يجب ألّا يكون فارغًا أو سلسلة فارغة ("").
قيمة يختارها مُنفِّذ الجهاز لتحديد اسم
android.os.Build.BRAND
الشركة أو المؤسسة أو الفرد أو غير ذلك الذي أنتج الجهاز، ب
تنسيق يسهل على المستخدم قراءته. من بين الاستخدامات المحتملة لهذا الحقل الإشارة إلى المصنّع الأصلي للجهاز
و/أو مشغّل شبكة الجوّال الذي باع الجهاز. ما مِن متطلبات بشأن
التنسيق المحدّد لهذا الحقل، باستثناء أنّه يجب ألّا يكون فارغًا أو
سلسلة فارغة ("").
قيمة يختارها مُنفِّذ الجهاز لتحديد
الإعداد أو المراجعة المحدّدة للجسم (يُشار إليها أحيانًا باسم "تصميم
android.os.Build.DEVICE
المعدني") للجهاز. ما مِن متطلبات بشأن التنسيق المحدّد
لهذا الحقل، باستثناء أنّه يجب ألّا يكون فارغًا أو سلسلة فارغة ("").
سلسلة تُحدِّد هذا الإصدار بشكل فريد. يجب أن يكون
سهل الفهم. يجب أن يتّبع هذا النموذج:
$(PRODUCT_BRAND)/$(PRODUCT_NAME)/$(PRODUCT_DEVICE)/
$(TARGET_BOOTLOADER_BOARD_NAME):$(PLATFORM_VERSION)/
$(BUILD_ID)/$(BUILD_NUMBER):$(TARGET_BUILD_VARIANT)/
android.os.Build.FINGERPRINT
$(BUILD_VERSION_TAGS)
على سبيل المثال: acme/mydevicel/generic/generic:Donut/ERC77/
3359:userdebug/test-keys
يجب ألا تتضمّن بصمة الجهاز مسافات. إذا كانت الحقول الأخرى المضمّنة في
النموذج أعلاه تحتوي على مسافات، يجب استبدالها بشرطة سفلية
ASCII ("_") في الملف المرجعي.
سلسلة تحدِّد بشكل فريد المضيف الذي تم إنشاء الإصدار عليه، بتنسيق يسهل على البشر
android.os.Build.HOST
قراءته ما مِن متطلبات بشأن التنسيق المحدّد لهذا
الحقل، باستثناء أنّه يجب ألّا يكون فارغًا أو سلسلة فارغة ("").
معرّف يختاره مُنفِّذ الجهاز للإشارة إلى إصدار
معيّن، بتنسيق يسهل على المستخدم قراءته. يمكن أن يكون هذا الحقل هو نفسه
android.os.Build.VERSION.INCREMENTAL، ولكن يجب أن يكون قيمة
android.os.Build.ID
مقصودة لتكون ذات معنى إلى حد ما للمستخدمين النهائيين. ما مِن
متطلبات بشأن التنسيق المحدّد لهذا الحقل، باستثناء أنّه يجب ألّا
يكون فارغًا أو سلسلة فارغة ("").
قيمة يختارها مُنفِّذ الجهاز تحتوي على اسم
الجهاز كما يعرفه المستخدم النهائي. يجب أن يكون هذا هو الاسم نفسه
android.os.Build.MODEL
الذي يتم من خلاله تسويق الجهاز وبيعه للمستخدمين النهائيين. ما مِن
متطلبات حول التنسيق المحدّد لهذا الحقل، باستثناء أنّه يجب ألّا
يكون فارغًا أو سلسلة فارغة ("").
قيمة يختارها مطوّر الجهاز تحتوي على
اسم التطوير أو الاسم الرمزي للجهاز. يجب أن تكون قابلة للقراءة، ولكن ليس
android.os.Build.PRODUCT
مقصودًا بالضرورة أن يطّلع عليها المستخدمون النهائيون. لا توجد متطلبات
على التنسيق المحدّد لهذا الحقل، باستثناء أنّه يجب ألّا يكون فارغًا أو
سلسلة فارغة ("").
قائمة مفصولة بفواصل من العلامات التي يختارها منفذ الجهاز والتي
تميّز الإصدار بشكل أكبر. على سبيل المثال، "unsigned,debug". يجب ألّا يكون الحقل
android.os.Build.TAGS
فارغًا أو سلسلة فارغة ("")، ولكن يمكن استخدام علامة واحدة (مثل
"release").
android.os.Build.TIME
قيمة تمثّل الطابع الزمني لوقت إنشاء الإصدار
قيمة يختارها مُنفِّذ الجهاز لتحديد إعدادات وقت تشغيل
الإصدار. يجب أن يحتوي هذا الحقل على إحدى القيم
android.os.Build.TYPE
المتوافقة مع الإعدادات الثلاثة المعتادة لوقت تشغيل Android: "user" أو
"userdebug" أو "eng".
اسم أو رقم تعريف المستخدم (أو المستخدم المبرمَج) الذي أنشأ الإصدار
android.os.Build.USER
. لا توجد متطلبات بشأن التنسيق المحدّد لهذا الحقل،
باستثناء أنّه يجب ألّا يكون فارغًا أو سلسلة فارغة ("").
3.2.3. توافق Intent
يستخدم Android رسائل Intent لتحقيق عملية دمج غير مترابطة بين التطبيقات. يوضّح هذا القسم
المتطلبات المتعلقة بأنماط الأهداف التي يجب أن تلتزم بها عمليات تنفيذ الأجهزة. يُقصد بالعبارة
"مراعاة" أنّه على مطوّر الجهاز توفير نشاط أو خدمة أو
مكوّن آخر من Android يحدّد فلتر أهداف مطابقًا ويرتبط بالسلوك الصحيح لكل
نمط أهداف محدّد وينفّذه.
3.2.3.1. نوايا التطبيقات الأساسية
يحدِّد مشروع Android upstream عددًا من التطبيقات الأساسية، مثل تطبيق الاتصال الهاتفي والتقويم
ودفتر جهات الاتصال ومشغّل الموسيقى وما إلى ذلك. يجوز لمُنفّذِي الأجهزة استبدال هذه التطبيقات
بإصدارات بديلة.
ومع ذلك، يجب أن تلتزم أيّ إصدارات بديلة بهذه الأنماط نفسها التي يوفّرها مشروع
المصدر. (على سبيل المثال، إذا كان الجهاز يحتوي على مشغّل موسيقى بديل، يجب أن يحترم الجهاز نمط Intent
الصادر عن التطبيقات التابعة لجهات خارجية لاختيار أغنية). يجب أن تتوافق عمليات تنفيذ الأجهزة مع جميع أنماط Intent
المُدرَجة في الملحق أ.
3.2.3.2. إلغاء النية
بما أنّ Android هو نظام أساسي قابل للتوسيع، على جهات تنفيذ الأجهزة السماح للتطبيقات التابعة لجهات خارجية بإلغاء كل نمط من أنماط النية الموضّح في
الملحق أ. يسمح مشروع Android المفتوح المصدر
بهذا تلقائيًا، ويجب ألا يربط مورّدو الأجهزة أذونات خاصة
باستخدام تطبيقات النظام لنماذج Intent هذه، أو يمنع التطبيقات التابعة لجهات خارجية من الربط
بهذه النماذج وتولي التحكّم فيها. ويشمل هذا الحظر على وجه التحديد إيقاف واجهة مستخدِم "أداة الاختيار" التي تسمح
للمستخدم باختيار بين تطبيقات متعدّدة تعالج جميعها نمط Intent نفسه.
3.2.3.3. مساحات أسماء Intent
يجب ألا يُدرِج مورِّدو الأجهزة أي مكوّن Android يحترم أي نمط جديد من Intent أو
Broadcast Intent باستخدام سلسلة مفتاح ACTION أو CATEGORY أو سلسلة مفتاح أخرى في مساحة حزمة
تعود إلى مؤسسة أخرى.
على جهات تنفيذ الأجهزة عدم تغيير أو توسيع أيّ من أنماط
Intent المُدرَجة في الملحقَين "أ" أو "ب".
يشبه هذا الحظر الحظر المحدّد لفئات لغة Java في القسم 3.6.
3.2.3.4. نشر النوايا
تعتمد التطبيقات التابعة لجهات خارجية على المنصة لنشر نوايا معيّنة لإعلامها بالتغييرات في
بيئة الأجهزة أو البرامج. يجب أن تبث الأجهزة المتوافقة مع Android
Intents للبث العام استجابةً لأحداث النظام المناسبة. تتوفّر قائمة بطلبات البث المطلوبة في
الملحق ب، ومع ذلك، يُرجى العِلم أنّ حزمة تطوير البرامج (SDK) قد تحدّد طلبات بث إضافية، ويجب أيضًا
تنفيذها.
3.3. التوافق مع واجهات برمجة التطبيقات الأصلية
يمكن للرمز المُدار الذي يتم تشغيله في Dalvik طلب رمز أصلي متوفر في ملف APK.. كملف ELF
.so تم تجميعه للبنية المناسبة لأجهزة الجهاز. يجب أن تتضمّن عمليات تنفيذ التطبيقات على الأجهزة
دعمًا للرمز البرمجي الذي يتم تشغيله في البيئة المُدارة للاتصال بالرمز البرمجي الأصلي، وذلك باستخدام دلالات واجهة Java
Native Interface (JNI) العادية. يجب أن تكون واجهات برمجة التطبيقات التالية متاحة للرمز البرمجي الأصلي:
• libc (مكتبة C)
• libm (مكتبة الرياضيات)
• واجهة JNI
• libz (ضغط Zlib)
• liblog (تسجيل Android)
• الحد الأدنى من الدعم لـ C++
• OpenGL ES 1.1
يجب أن تكون هذه المكتبات متوافقة مع المصدر (أي متوافقة مع الرأس) ومع الثنائي (لبنية معالج معيّنة) مع الإصدارات المقدَّمة في Bionic من خلال مشروع Android Open Source.
بما أنّ
عمليات تنفيذ Bionic غير متوافقة بالكامل مع عمليات التنفيذ الأخرى، مثل مكتبة GNU C
، على جهات تنفيذ الأجهزة استخدام عملية التنفيذ في Android. إذا كان مورّدو الأجهزة يستخدمون
عملية تنفيذ مختلفة لهذه المكتبات، عليهم التأكّد من توافق الرأس والملف الثنائي.
يصعب توافق الرموز البرمجية الأصلية. لهذا السبب، نريد أن نكرّر أنّه على جهات تنفيذ الأجهزة
استخدام عمليات التنفيذ في المصدر للمكتبات المدرَجة أعلاه، وذلك للمساعدة في
ضمان التوافق.
3.4. التوافق مع Web API
يعتمد العديد من المطوّرين والتطبيقات على سلوك فئة android.webkit.WebView [Resources،
11] لتوفير واجهات المستخدم، لذا يجب أن يكون تطبيق WebView متوافقًا مع جميع تطبيقات Android
. يستخدم تنفيذ Android Open Source إصدار محرّك عرض WebKit من أجل
تنفيذ WebView.
بما أنّه من غير الممكن تطوير مجموعة اختبارات شاملة لمتصفّح ويب، على جهات تنفيذ الأجهزة
استخدام الإصدار المحدّد من WebKit في تنفيذ WebView. على وجه التحديد:
• يجب أن يستخدم WebView إصدار WebKit 528.5 أو إصدارًا أحدث من شجرة المصدر المفتوح لنظام التشغيل Android في الإصدار
Android 1.6. يتضمّن هذا الإصدار مجموعة محدّدة من الإصلاحات المتعلّقة بوظائف WebView وأمانه.
• يجب أن تكون سلسلة وكيل المستخدم التي يُبلغ عنها WebView بالتنسيق التالي:
Mozilla/5.0 (Linux; U; Android 1.6; <language>-<country>; <device
name>; Build/<build ID>) AppleWebKit/528.5+ (KHTML, like Gecko)
Version/3.1.2 Mobile Safari/525.20.1
◦ يجب أن تكون سلسلة "<device name>" مطابقة لقيمة
android.os.Build.MODEL
◦ يجب أن تكون سلسلة "<build ID>" مطابقة لقيمة android.os.Build.ID.
◦ يجب أن تتّبع سلاسل "<language>" و "<country>" الاصطلاحات المعتادة
لترميز البلد واللغة، ويجب أن تشير إلى اللغة الحالية للجهاز في
وقت تقديم الطلب.
يجوز للتطبيقات تضمين سلسلة وكيل مستخدم مخصّصة في تطبيق المتصفّح المستقل. بالإضافة إلى ذلك،
قد يستند المتصفّح المستقل إلى تقنية متصفّح بديل (مثل Firefox و
Opera وما إلى ذلك). ومع ذلك، حتى في حال شحن تطبيق متصفّح بديل، يجب أن يستند مكوّن WebView
المقدَّم للتطبيقات التابعة لجهات خارجية إلى WebKit، كما هو موضّح أعلاه.
يجب أن يتضمّن تطبيق المتصفّح المستقل إمكانيات استخدام Gears [الموارد، 12] وقد
يتضمّن إمكانيات استخدام بعض ميزات HTML5 أو جميعها.
3.5. التوافق السلوكي لواجهات برمجة التطبيقات
يجب أن تكون سلوكيات كل نوع من أنواع واجهات برمجة التطبيقات (المُدارة واللينة والبرامج الأصلية والويب) متسقة مع
طريقة التنفيذ المفضّلة لنظام التشغيل Android المتوفّرة من مشروع Android Open Source Project.
في ما يلي بعض الجوانب المحدّدة للتوافق:
• يجب ألا تغيّر الأجهزة سلوك Intent العادي أو معناه.
• يجب ألا تغيّر الأجهزة دورة الحياة أو دلالات دورة الحياة لنوع معيّن من مكونات
النظام (مثل Service وActivity وContentProvider وما إلى ذلك).
• يجب ألا تغيّر الأجهزة معنى إذن معيّن.
القائمة أعلاه ليست شاملة، ويقع على عاتق جهات تنفيذ الأجهزة ضمان التوافق
السلوكي. لهذا السبب، على جهات تنفيذ الأجهزة استخدام الرمز المصدر المتاح من خلال
المشروع المفتوح المصدر لنظام Android كلما أمكن ذلك، بدلاً من إعادة تنفيذ أجزاء مهمة من النظام.
تختبر مجموعة أدوات اختبار التوافق (CTS) أجزاءً كبيرة من المنصة للتحقّق من التوافق السلوكي،
ولكن ليس كلها. تقع على عاتق المنفِّذ مسؤولية ضمان التوافق السلوكي مع
مشروع Android المفتوح المصدر.
3.6. مساحات أسماء واجهات برمجة التطبيقات
يتبع Android اصطلاحات مساحات أسماء الحِزم والفئات التي تحدّدها لغة البرمجة
Java. لضمان التوافق مع التطبيقات التابعة لجهات خارجية، يجب ألا يُجري مورّدو الأجهزة
أي تعديلات محظورة (راجِع المعلومات أدناه) على مساحات أسماء الحِزم التالية:
• java.*
• javax.*
• sun.*
• android.*
• com.android.*
تشمل التعديلات المحظورة ما يلي:
• يجب ألا تعدّل عمليات تنفيذ الأجهزة واجهات برمجة التطبيقات المتاحة للجميع على نظام التشغيل Android
من خلال تغيير أي توقيعات طُرق أو فئات أو من خلال إزالة فئات أو حقول فئات.
• يجوز لمطوّري الأجهزة تعديل التنفيذ الأساسي لواجهات برمجة التطبيقات، ولكن يجب ألّا تؤثر هذه
التعديلات في السلوك المحدّد وتوقيع لغة Java لأي
واجهات برمجة تطبيقات علنية.
• يجب ألا يضيف مورّدو الأجهزة أي عناصر متاحة للجميع (مثل الفصول أو
الواجهات أو الحقول أو الطرق إلى الفصول أو الواجهات الحالية) إلى واجهات برمجة التطبيقات المذكورة أعلاه.
"العنصر المعروض للجميع" هو أيّ عنصر لم يتمّ تزيينه بالعلامة "@hide" في
الرمز المصدر الأصلي لنظام التشغيل Android. بمعنى آخر، يجب ألا يعرِض مورّدو الأجهزة واجهات برمجة تطبيقات جديدة أو
يغيّروا واجهات برمجة التطبيقات الحالية في مساحات الأسماء المذكورة أعلاه. يجوز لمنفّذِي الأجهزة إجراء
تعديلات داخلية فقط، ولكن يجب عدم الإعلان عن هذه التعديلات أو عرضها للمطوّرين بأي شكل آخر.
يجوز لمطوّري الأجهزة إضافة واجهات برمجة تطبيقات مخصّصة، ولكن يجب ألّا تكون أيّ من واجهات برمجة التطبيقات هذه في مساحة اسم مملوكة
لمؤسسة أخرى أو تشير إليها. على سبيل المثال، يجب ألا يضيف مورّدو الأجهزة واجهات برمجة التطبيقات إلى مساحة الاسم
com.google.* أو مساحة اسم مشابهة، بل يمكن لشركة Google فقط إجراء ذلك. وبالمثل، يجب ألا تضيف Google واجهات برمجة التطبيقات إلى
مساحات أسماء الشركات الأخرى.
إذا اقترح مطوّر الأجهزة تحسين إحدى مساحات أسماء الحِزم أعلاه (مثل إضافة
وظائف جديدة مفيدة إلى واجهة برمجة تطبيقات حالية أو إضافة واجهة برمجة تطبيقات جديدة)، على المطوّر الانتقال إلى
source.android.com وبدء عملية المساهمة بالتغييرات والرموز البرمجية وفقًا
للمعلومات الواردة في هذا الموقع الإلكتروني.
تجدر الإشارة إلى أنّ القيود المذكورة أعلاه تتوافق مع الاتفاقيات العادية لتسمية واجهات برمجة التطبيقات في لغة البرمجة Java
، ويهدف هذا القسم ببساطة إلى تعزيز هذه الاتفاقيات وجعلها ملزمة
من خلال تضمينها في تعريف التوافق هذا.
3.7. توافق الأجهزة الافتراضية
يجب أن يكون جهاز Android متوافقًا مع مواصفات رمز Dalvik القابل للتنفيذ (DEX) الثنائي الكامل و
دلالات Dalvik Virtual Machine [Resources, 13].
3.8. التوافق مع واجهة المستخدم
تتضمّن منصة Android بعض واجهات برمجة التطبيقات المخصّصة للمطوّرين التي تتيح لهم الربط بواجهة
مستخدم النظام. يجب أن تتضمّن عمليات تنفيذ الأجهزة واجهات برمجة التطبيقات العادية لواجهات المستخدم في واجهات المستخدم المخصّصة
التي يتم تطويرها، كما هو موضّح أدناه.
3.8.1. التطبيقات المصغّرة
يحدِّد نظام التشغيل Android نوع المكوّن وواجهة برمجة التطبيقات ودورة الحياة المقابلة التي تسمح للتطبيقات بعرض
"AppWidget" للمستخدم النهائي [الموارد، 14]. يتضمّن الإصدار المرجعي لنظام التشغيل Android المفتوح المصدر
تطبيق مشغّل يتضمن عناصر واجهة مستخدِم تتيح للمستخدِم إضافة
التطبيقات المصغّرة وعرضها وإزالتها من الشاشة الرئيسية.
يجوز لمطوّري الأجهزة استبدال مشغّل التطبيقات المرجعي (أي الشاشة الرئيسية) بمشغّل تطبيقات بديل.
يجب أن تتضمّن مشغّلات التطبيقات البديلة إمكانات مدمجة لاستخدام التطبيقات المصغّرة، وأن تعرض عناصر واجهة المستخدم
لإضافة التطبيقات المصغّرة وعرضها وإزالتها مباشرةً من داخل مشغّل التطبيقات. يجوز لتطبيقات إطلاق التطبيقات البديلة
حذف عناصر واجهة المستخدم هذه، ولكن في حال حذفها، على مطوّر الجهاز توفير
تطبيق منفصل يمكن الوصول إليه من مشغّل التطبيقات ويتيح للمستخدمين إضافة
تطبيقات المصغّرة وعرضها وإزالتها.
3.8.2. الإشعارات
تتضمّن نظام التشغيل Android واجهات برمجة تطبيقات تتيح للمطوّرين إرسال إشعارات إلى المستخدمين بشأن الأحداث البارزة [الموارد، 15]. على
جهات تنفيذ الأجهزة توفير دعم لكل فئة من فئات الإشعارات المحدّدة، وعلى وجه التحديد: الأصوات
والاهتزاز والضوء وشريط الحالة.
بالإضافة إلى ذلك، يجب أن يتم عرض الرمز بشكل صحيح وأن تكون جميع الموارد (الرموز وملفات الصوت وما إلى ذلك)
متوفّرة في واجهات برمجة التطبيقات [الموارد، 7] أو في دليل أسلوب رموز شريط الحالة [الموارد، 16]. يجوز
لمنفّذِي الأجهزة توفير تجربة مستخدم بديلة للإشعارات عن تلك التي يوفّرها
التنفيذ المرجعي لنظام التشغيل Android المفتوح المصدر، ولكن يجب أن
تتوافق أنظمة الإشعارات البديلة هذه مع موارد الإشعارات الحالية، كما هو موضّح أعلاه.
3.8.3. البحث
يحتوي Android على واجهات برمجة تطبيقات [مراجع، 17] تسمح للمطوّرين بدمج ميزة البحث في تطبيقاتهم،
وعرض بيانات تطبيقاتهم في البحث الشامل على النظام. بشكل عام، تتألف هذه الوظيفة
من واجهة مستخدم واحدة على مستوى النظام تتيح للمستخدمين إدخال طلبات بحث وعرض اقتراحات
أثناء كتابتهم للنص وعرض النتائج. تسمح واجهات برمجة تطبيقات Android للمطوّرين بإعادة استخدام هذه الواجهة لتوفير
ميزة البحث داخل تطبيقاتهم، كما تسمح لهم بتوفير النتائج لواجهة
المستخدمين العامة للبحث.
يجب أن تتضمّن عمليات تنفيذ الأجهزة واجهة مستخدم بحث واحدة ومشترَكة على مستوى النظام يمكنها
تقديم اقتراحات في الوقت الفعلي استجابةً لإدخال المستخدم. يجب أن توفّر عمليات تنفيذ الأجهزة واجهات برمجة التطبيقات التي
تسمح للمطوّرين بإعادة استخدام واجهة المستخدم هذه لتوفير ميزة البحث داخل تطبيقاتهم.
يجب أن تُنفِّذ عمليات تنفيذ الأجهزة واجهات برمجة التطبيقات التي تسمح للتطبيقات التابعة لجهات خارجية بإضافة اقتراحات
إلى مربّع البحث عند تشغيله في وضع البحث الشامل. في حال عدم تثبيت أي تطبيقات تابعة لجهات خارجية
تستخدم هذه الوظيفة، من المفترض أن يكون السلوك التلقائي هو عرض نتائج محرّك بحث الويب و
الاقتراحات.
يجوز أن تتضمّن عمليات تنفيذ الأجهزة واجهات مستخدم بديلة للبحث، ولكن يجب أن تتضمّن
زر بحث مخصّصًا، سواء كان ثابتًا أو قابلاً للبرمجة، يمكن استخدامه في أي وقت ضمن أي تطبيق لتشغيل إطار عمل البحث،
مع السلوك المقدَّم في مستندات واجهة برمجة التطبيقات.
3.8.4. الإشعارات المنبثقة
يمكن للتطبيقات استخدام واجهة برمجة التطبيقات Toast API (المحدّدة في [الموارد، 18]) لعرض سلاسل قصيرة غير مشروطة
للمستخدم النهائي، والتي تختفي بعد فترة زمنية قصيرة. يجب أن تعرِض عمليات تنفيذ الأجهزة إشعارات Toast من
التطبيقات إلى المستخدمين النهائيين بطريقة واضحة جدًا.
4. التوافق مع البرامج المرجعية
على مطوّري الأجهزة اختبار توافق التنفيذ باستخدام التطبيقات التالية المتوفّرة برمز مفتوح المصدر:
• حاسبة (مضمّنة في حزمة SDK)
• Lunar Lander (مضمّنة في حزمة SDK)
• ApiDemos (مضمّنة في حزمة SDK)
• تطبيقات "تطبيقات Android" [الموارد، 19]
يجب تشغيل كل تطبيق من التطبيقات المذكورة أعلاه ويعمل بشكل صحيح عند التنفيذ، لكي يكون التنفيذ
متوافقًا.
5. التوافق مع حِزم التطبيقات
يجب أن تعمل عمليات تنفيذ الأجهزة على تثبيت ملفات ".apk" الخاصة بنظام Android وتشغيلها على النحو الذي تنشئه أداة "aapt"
المضمّنة في حزمة تطوير البرامج (SDK) الرسمية لنظام Android [الموارد، 20].
يجب ألا تؤدي عمليات تنفيذ الأجهزة إلى توسيع تنسيقات .apk أو ملف بيان Android أو رمز Dalvik الثنائي
بطريقة تمنع تثبيت هذه الملفات وتشغيلها بشكل صحيح على
الأجهزة المتوافقة الأخرى. على جهات تنفيذ الأجهزة استخدام التنفيذ المرجعي لـ Dalvik
ونظام إدارة الحِزم المرجعي.
6. التوافق مع الوسائط المتعددة
يجب أن يكون جهاز Android متوافقًا مع برامج ترميز الوسائط المتعددة التالية. يتم
توفير جميع برامج الترميز هذه كبرامج في التنفيذ المفضّل لنظام Android من "المشروع المفتوح
المصدر لنظام Android" [الموارد، 4].
يُرجى العلم أنّ Google أو تحالف Open Handset Alliance لا يقدّمان أي ضمان بأنّ هذه
برامج الترميز غير خاضعة لبراءات اختراع تابعة لجهات خارجية. ننصح المستخدمين الذين يريدون استخدام رمز المصدر هذا في الأجهزة أو
منتجات البرامج بأنّ عمليات تنفيذ هذا الرمز، بما في ذلك في البرامج المفتوحة المصدر أو
برامج الاستخدام المشترَك، قد تتطلّب تراخيص براءات اختراع من مالكي براءات الاختراع المعنيين.
الصوت
الاسم
تفاصيل المشفِّر والمشفِّر
الملفّات المتوافقة
محتوى أحادي/استيريو في أيّ
تنسيق 3GPP (.3gp) و
مجموعة من معدّلات نقل البيانات العادية
MPEG-4 (.mp4 و.m4a)
AAC LC/LTP
X
ملفات بمعدّلات نقل بيانات تصل إلى 160 كيلوبت في الثانية ومعدّلات أخذ العينات لا تتوفّر إمكانية استخدام ملفات الصوت غير المُعالجة
بمعدل تردد بين 8 و48 كيلوهرتز
بترميز AAC (.aac)
محتوى صوت أحادي/استيريو في أي
تنسيق 3GPP (.3gp) و
HE-AACv1
مجموعة من معدلات نقل البيانات العادية
MPEG-4 (.mp4 و.m4a)
X
(AAC+)
بمعدل يصل إلى 96 كيلوبت في الثانية ومعدّلات أخذ العينات. لا تتوفّر إمكانية استخدام ملفات AAC (.aac)
الخام
بمعدلات نقل بيانات تتراوح بين 8 و48 كيلوهرتز
ومحتوى صوت أحادي/استيريو في أي
ملف
HE-AACv2
3GPP (.3gp) و
مجموعة من معدلات نقل البيانات العادية
(ملفات
MPEG-4 المحسّنة (.mp4 أو .m4a)
X
بمعدلات نقل بيانات تصل إلى 96 كيلوبت في الثانية ومعدّلات أخذ العينات
AAC+)
. لا تتوفّر إمكانية استخدام الملفات غير المُعدَّلة
بين 8 و48 كيلوهرتز
ترميز AAC (.aac)
AMR-NB
من 4.75 إلى 12.2 كيلوبت في الثانية بمعدّل أخذ عيّنات
ملفات 3GPP (.3gp)
X
X
8 كيلوهرتز
AMR-WB
9 معدّلات من 6.60 كيلوبت في الثانية إلى 23.85
ملفات 3GPP (.3gp)
X
كيلوبت في الثانية بمعدّل أخذ عيّنات 16 كيلوهرتز
MP3
ملفات MP3 (.mp3) أحادية/استيريو بمعدّل نقل بيانات ثابت من 8 إلى 320 كيلوبت في الثانية
X
(معدل نقل بيانات ثابت) أو معدل نقل بيانات متغيّر (VBR)
النوع 0 و1 (.mid و.xmf)
النوع 0 و1 من ملفات MIDI DLS الإصدار 1
MIDI
X
.mxmf RTTTL/RTX
و2. XMF وMobile XMF
(.rtttl و.rtx) وOTA (.ota)،
إتاحة تنسيقات نغمات الرنين
وiMelody (.imy)
RTTTL/RTX وOTA وiMelody
Ogg Vorbis
.ogg
X
الصوت الخطي بترميز PCM بسعة 8 و16 بت (بمعدلات تصل إلى
PCM
X
WAVE
الحد الأقصى للأجهزة)
الصور
الملفات
الاسم
تفاصيل الترميز/فك الترميز
الملفّات المتوافقة
JPEG
X
X
base+progressive
GIF
X
PNG
X
X
BMP
X
الفيديو
الملفات
الاسم
تفاصيل الترميز/فك الترميز
الملفّات المتوافقة
3GPP (.3gp)
H.263
X
X
files
3GPP (.3gp)
H.264
X
وMPEG-4
(.mp4) files
MPEG4
X
ملف 3GPP (.3gp)
SP
7. التوافق مع أدوات المطوّرين
يجب أن تكون عمليات تنفيذ الأجهزة متوافقة مع أدوات مطوّري تطبيقات Android المقدَّمة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
على وجه التحديد، يجب أن تكون الأجهزة المتوافقة مع Android متوافقة مع ما يلي:
• Android Debug Bridge أو adb [Resources، 21]
يجب أن تكون عمليات تنفيذ الأجهزة متوافقة مع جميع وظائف adb كما هو موضّح في حزمة تطوير البرامج (SDK) لنظام التشغيل
Android. من المفترض أن يكون برنامج adb الخفي غير مفعَّل تلقائيًا على الجهاز، ولكن يجب أن تتوفّر آلية يمكن للمستخدم
الوصول إليها لتفعيل "جسر تصحيح أخطاء Android".
• خدمة Dalvik Debug Monitor أو ddms [Resources، 22]
يجب أن تتوافق عمليات تنفيذ الأجهزة مع جميع ميزات ddms كما هو موضّح في حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
بما أنّ ddms يستخدم adb، من المفترض أن يكون استخدام ddms غير مفعّل تلقائيًا، ولكن يجب أن يكون مفعّلاً
عندما يفعّل المستخدم "جسر تصحيح أخطاء Android"، كما هو موضّح أعلاه.
• Monkey [Resources, 23]
يجب أن تتضمّن عمليات تنفيذ الأجهزة إطار عمل Monkey وأن تتيح استخدامه
للتطبيقات.
8- التوافق مع الأجهزة
يهدف نظام التشغيل Android إلى مساعدة جهات تنفيذ الأجهزة في إنشاء أشكال وإعدادات مبتكرة.
في الوقت نفسه، يتوقّع مطوّرو تطبيقات Android توفُّر أجهزة وأجهزة استشعار وواجهات برمجة تطبيقات معيّنة على جميع أجهزة Android
. يسرد هذا القسم ميزات الأجهزة التي يجب أن تتوافق معها جميع الأجهزة المتوافقة مع Android 1.6. في
Android 1.6، تكون معظم ميزات الأجهزة مطلوبة (مثل شبكة Wi-Fi والبوصلة ومقياس التسارع).
إذا كان الجهاز يتضمّن مكوّنًا معيّنًا للأجهزة يتضمّن واجهة برمجة تطبيقات مقابلة للمطوّرين
التابعين لجهات خارجية، يجب أن ينفذ تنفيذ الجهاز واجهة برمجة التطبيقات هذه على النحو المحدّد في مستندات
حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
8.1. العرض
يحتوي الإصدار 1.6 من Android على مرافق تُجري عمليات تحويل وتوسيع تلقائية معيّنة في
بعض الحالات، لضمان تشغيل التطبيقات التابعة لجهات خارجية بشكل جيد على إعدادات
الأجهزة التي لم يتم تصميمها بالضرورة بشكل صريح لها [Resources, 24]. يجب أن تُنفِّذ الأجهزة
هذه السلوكيات بشكل صحيح، كما هو موضّح بالتفصيل في هذا القسم.
8.1.1. إعدادات الشاشة العادية
يسرد هذا الجدول إعدادات الشاشة العادية التي تُعدّ متوافقة مع Android:
قطر الشاشة
حجم الشاشة
كثافة الشاشة
نوع الشاشة
العرض (بوحدات البكسل)
الارتفاع (بوحدات البكسل)
نطاق الطول
المجموعة
المجموعة
(بالبوصة)
QVGA
240
320
2.6 - 3.0
صغير
منخفض
WQVGA
240
400
3.2 - 3.5
عادي
منخفض
FWQVGA
240
432
3.5 - 3.8
عادي
منخفض
HVGA
320
480
3.0 - 3.5
عادي
متوسط
WVGA
480
800
3.3 - 4.0
عادي
عالٍ
FWVGA
480
854
3.5 - 4.0
عادي
عالٍ
WVGA
480
800
4.8 - 5.5
كبير
متوسط
FWVGA
480
854
5.0 - 5.8
كبير
متوسط
يجب ضبط عمليات تنفيذ الأجهزة التي تتوافق مع أحد الإعدادات العادية أعلاه
لإبلاغ التطبيقات بحجم الشاشة المحدَّد من خلال فئة android.content.res.Configuration [Resources,
25].
تحتوي بعض حِزم .apk على بيانات بيان لا تحدّد أنّها متوافقة مع نطاق كثافة محدد.
عند تشغيل هذه التطبيقات، تنطبق القيود التالية:
• يجب أن تفسّر عمليات تنفيذ الأجهزة أي موارد متوفّرة على أنّها الإعداد التلقائي
"متوسط" (المعروف باسم "mdpi" في مستندات حِزم تطوير البرامج (SDK).)
• عند التشغيل على شاشة ذات كثافة "منخفضة"، يجب تصغير مواد العرض ذات الكثافة المتوسطة/
mdpi بمقدار 0.75 عند تنفيذها على الأجهزة.
• عند التشغيل على شاشة ذات كثافة "عالية"، يجب تكبير مواد العرض ذات الكثافة المتوسطة/
mdpi على الأجهزة بمقدار 1.5.
• يجب ألّا تُحوِّل عمليات التنفيذ على الأجهزة مواد العرض إلى نطاق كثافة، ويجب أن تُحوِّل
مواد العرض وفقًا لهذه العوامل بالضبط بين نطاقات الكثافة.
8.1.2. إعدادات العرض غير العادية
تتطلّب إعدادات العرض التي لا تتطابق مع أحد الإعدادات العادية المُدرَجة في القسم 8.2.1
مزيدًا من العناية والعمل لتكون متوافقة. على جهات تنفيذ الأجهزة التواصل مع
فريق التوافق في Android كما هو موضّح في القسم 12 للحصول على تصنيفات لمجموعة حجم الشاشة وكثافتها
وعامل القياس. عند توفُّر هذه المعلومات، يجب أن تطبّق عمليات تنفيذ الأجهزة هذه المعلومات
على النحو المحدّد.
يُرجى العِلم أنّ بعض إعدادات الشاشة (مثل الشاشات الكبيرة جدًا أو الصغيرة جدًا وبعض نسب العرض إلى الارتفاع)
لا تتوافق بشكل أساسي مع الإصدار 1.6 من Android، لذا ننصح جهات تنفيذ الأجهزة
بالتواصل مع فريق التوافق مع Android في أقرب وقت ممكن خلال عملية التطوير.
8.1.3. مقاييس العرض
يجب أن تُبلغ عمليات تنفيذ الأجهزة عن قيم صحيحة لجميع مقاييس العرض المحدّدة في
android.util.DisplayMetrics [Resources، 26].
8.2. لوحة المفاتيح
عمليات التنفيذ على الأجهزة:
• يجب أن تتضمّن إمكانات استخدام إطار عمل إدارة الإدخال (الذي يتيح لمطوّري التطبيقات
الجهات الخارجية إنشاء محرّكات إدارة الإدخال، أي لوحة المفاتيح المتوفّرة على الشاشة) على النحو الموضّح في
developer.android.com
• يجب أن توفّر عملية تنفيذ واحدة على الأقل للوحة المفاتيح المتوفّرة على الشاشة (بغض النظر عمّا إذا كانت لوحة مفاتيح
معدّة)
• يجوز أن تتضمّن عمليات تنفيذ إضافية للوحة المفاتيح المتوفّرة على الشاشة
• يجوز أن تتضمّن لوحة مفاتيح صلبة
• يجب ألا تتضمّن لوحة مفاتيح صلبة لا تتطابق مع أحد التنسيقات المحدّدة
في android.content.res.Configuration [Resources, 25] (أي QWERTY أو 12 مفتاحًا)
8.3. التنقّل بدون لمس
عمليات تنفيذ الجهاز:
• يجوز حذف خيارات التنقّل بدون لمس (أي يمكن حذف كرة المسار أو لوحة التوجيه ذات الاتجاهات الخمسة أو
العجلة)
• يجب الإبلاغ عن القيمة الصحيحة لأجهزة
الجهاز من خلال android.content.res.Configuration [Resources, 25]
8.4. اتجاه الشاشة
يجب أن تتيح الأجهزة المتوافقة تغيير اتجاه الشاشة ديناميكيًا من خلال التطبيقات ليصبح إما عموديًا أو أفقيًا
. بمعنى آخر، يجب أن يراعي الجهاز طلب التطبيق لاتجاه شاشة معيّن
. قد تختار عمليات تنفيذ الأجهزة الاتجاه العمودي أو الأفقي كإعداد تلقائي.
يجب أن تُبلغ الأجهزة عن القيمة الصحيحة لاتجاه الجهاز الحالي، عند الاستعلام من خلال
android.content.res.Configuration.orientation أو android.view.Display.getOrientation() أو واجهات برمجة التطبيقات الأخرى.
8.5. إدخال الشاشة التي تعمل باللمس
عمليات تنفيذ الجهاز:
• يجب أن يكون الجهاز مزوّدًا بشاشة تعمل باللمس
• يمكن أن يكون الجهاز مزوّدًا بشاشة تعمل باللمس تستخدم إما أسلوب التكثيف أو المقاومة
• يجب أن يعرض الجهاز قيمة android.content.res.Configuration [Resources, 25] التي تشير
إلى نوع الشاشة التي تعمل باللمس المحدّدة على الجهاز
8.6. USB
عمليات تنفيذ الجهاز:
• يجب تنفيذ برنامج تشغيل USB يمكن توصيله بمضيف USB من خلال منفذ USB-A عادي
• يجب تنفيذ برنامج تشغيل Android Debug Bridge عبر USB (كما هو موضّح في القسم 7)
• يجب تنفيذ برنامج تشغيل وحدة تخزين USB كبيرة السعة لتوفّر وحدة تخزين قابلة للإزالة/وحدة تخزين وسائط في
الجهاز
• يجب استخدام شكل micro USB على جانب الجهاز
• يجب توفير إمكانية استخدام مواصفات USB Mass Storage (كي يتمكّن الكمبيوتر الشخصي المضيف من الوصول إلى وحدة التخزين القابلة للإزالة
أو الثابتة على الجهاز)
• يجوز تضمين منفذ غير عادي على جانب الجهاز، ولكن في هذه الحالة يجب أن يتم شحنه مع كابل يمكنه
توصيل مخطط الدبوس المخصّص بمنفذ USB-A العادي
8.7. مفاتيح التنقّل
وظائف "الصفحة الرئيسية" و"القائمة" و"رجوع" ضرورية لنموذج التنقّل في Android. يجب أن توفّر عمليات تنفيذ التطبيق على
الجهاز هذه الدوال للمستخدم في جميع الأوقات، بغض النظر عن
حالة التطبيق. ويجب تنفيذ هذه الدوالّ من خلال أزرار مخصّصة. يجوز تنفيذها
باستخدام البرامج أو الإيماءات أو اللوحة اللمسية أو غير ذلك، ولكن في هذه الحالة يجب أن يكون بالإمكان الوصول إليها دائمًا وألا تحجب أو
تداخل مع مساحة عرض التطبيق المتاحة.
على جهات تنفيذ الأجهزة أيضًا توفير مفتاح بحث مخصّص. يجوز أيضًا لمنفّذِي الأجهزة
توفير مفاتيح الإرسال والإيقاف للمكالمات الهاتفية.
8.8. شبكة Wi-Fi
يجب أن تكون عمليات تنفيذ الأجهزة متوافقة مع 802.11b و802.11g، وقد تكون متوافقة مع 802.11a.
8.9. الكاميرا
يجب أن تتضمّن عمليات تنفيذ الأجهزة كاميرا. الكاميرا المضمّنة:
• يجب أن تكون دقتها 2 ميغابكسل على الأقل
• يجب أن تتضمّن ميزة ضبط التركيز التلقائي في الأجهزة أو البرامج في برنامج تشغيل الكاميرا
(شفّاف لبرامج التطبيقات)
• يمكن أن تتضمّن ميزة ضبط التركيز التلقائي في الأجهزة أو ميزة "عمق المجال الموسّع"
• يمكن أن تتضمّن فلاشًا. إذا كانت الكاميرا تتضمّن فلاشًا، يجب ألّا يكون مصباح الفلاش مضاءً أثناء تسجيل مثيل
android.hardware.Camera.PreviewCallback على سطح معاينة الكاميرا
.
يجب أن تطبّق عمليات تنفيذ الأجهزة السلوكيات التالية لواجهات برمجة التطبيقات ذات الصلة بالكاميرا
[Resources, 27]:
1. إذا لم يسبق للتطبيق استدعاء android.hardware.Camera.Parameters.setPreviewFormat(int)،
يجب أن يستخدم الجهاز android.hardware.PixelFormat.YCbCr_420_SP لبيانات المعاينة
المقدَّمة إلى وظائف الاستدعاء للتطبيق.
2. إذا سجَّل تطبيق مثيلًا من android.hardware.Camera.PreviewCallback و
دعا النظام الطريقة onPreviewFrame() عندما يكون تنسيق المعاينة هو YCbCr_420_SP، يجب أن تكون
البيانات في السلسلة byte[] التي تم تمريرها إلى onPreviewFrame() بتنسيق ترميز NV21.
(هذا هو التنسيق المستخدَم أصلاً من قِبل مجموعة الأجهزة 7k). أي أنّه يجب أن يكون تنسيق NV21 هو الإعداد التلقائي.
8.9.1. الكاميرات غير المزوّدة بميزة ضبط التركيز التلقائي
إذا لم يكن الجهاز مزوّدًا بكاميرا مزوّدة بميزة ضبط التركيز التلقائي، على مُنفِّذ الجهاز استيفاء المتطلبات الإضافية الواردة في
هذا القسم. يجب أن تُنفِّذ عمليات تنفيذ الأجهزة واجهة برمجة التطبيقات Camera API الكاملة المضمّنة في مستندات حزمة SDK لنظام التشغيل Android 1.6
بطريقة معقولة، بغض النظر عن إمكانات أجهزة الكاميرا الفعلية.
بالنسبة إلى الإصدار 1.6 من Android، إذا كانت الكاميرا لا تتضمّن ميزة التركيز التلقائي، يجب أن يلتزم تنفيذ الجهاز بما يلي:
1. يجب أن يتضمّن النظام خاصية نظام للقراءة فقط باسم "ro.workaround.noautofocus"
بالقيمة "1". والهدف من استخدام هذه القيمة هو أن تستخدمها تطبيقات مثل Android Market من أجل
تحديد إمكانات الجهاز بشكل انتقائي، وسيتم استبدالها في إصدار مستقبلي من Android ب
واجهة برمجة تطبيقات فعّالة.
2. إذا استدعى تطبيق android.hardware.Camera.autoFocus()، على النظام استدعاء
طريقة callback()onAutoFocus على أي مثيلات مسجَّلة من
android.hardware.Camera.AutoFocusCallback، حتى لو لم يتم التركيز
فعليًا. ويهدف ذلك إلى تجنُّب تعطُّل التطبيقات الحالية بسبب الانتظار إلى الأبد لتلقّي
مكالمة استدعاء لن تأتي أبدًا.
3. يجب أن يبدأ السائق أو
إطار العمل عملية الاتصال بالطريقة AutoFocusCallback.onAutoFocus() في حدث جديد على سلسلة محادثات Looper الرئيسية للإطار العمل. وهذا يعني أنّه
يجب عدم استدعاء Camera.autoFocus() مباشرةً AutoFocusCallback.onAutoFocus() لأنّ ذلك يخالف نموذج معالجة المهام في إطار عمل Android
وسيؤدي إلى تعطُّل التطبيقات.
8.10. مقياس التسارع
يجب أن تتضمّن عمليات تنفيذ الأجهزة مقياس تسارع بثلاثة محاور، ويجب أن تكون قادرة على إرسال الأحداث بمعدّل
50 هرتز على الأقل. يجب أن يمتثل نظام الإحداثيات المستخدَم في مقياس التسارع لنظام إحداثيات أداة استشعار Android
كما هو موضّح بالتفصيل في [Resources، 28] ضمن واجهة برمجة تطبيقات Android.
8.11. البوصلة
يجب أن تتضمّن عمليات تنفيذ الأجهزة بوصلة بثلاثة محاور، ويجب أن تكون قادرة على إرسال الأحداث بمعدّل
10 هرتز على الأقل. يجب أن يمتثل نظام الإحداثيات المستخدَم في البوصلة لنظام إحداثيات أدوات استشعار Android
على النحو المحدّد في واجهة برمجة تطبيقات Android [Resources، 28].
8.12. نظام تحديد المواقع العالمي (GPS)
يجب أن تتضمّن عمليات تنفيذ الأجهزة نظام تحديد المواقع العالمي (GPS)، ويجب أن تتضمّن شكلاً من أشكال تقنية "تحديد المواقع العالمي (GPS) بمساعدة شبكة الجوّال"
لتقليل وقت الربط بنظام تحديد المواقع العالمي (GPS).
8.13. خدمات الهاتف
عمليات تنفيذ الأجهزة:
• يجب أن تتضمّن إما خدمات الهاتف GSM أو CDMA
• يجب أن تتضمّن واجهات برمجة التطبيقات المناسبة كما هو موضّح بالتفصيل في مستندات حِزم تطوير البرامج (SDK) لنظام التشغيل Android على
developer.android.com
يُرجى العِلم أنّ هذا الشرط يعني أنّ الأجهزة غير الهاتفية غير متوافقة مع الإصدار 1.6 من Android، ويجب أن تتضمّن أجهزة Android
1.6 أجهزة الهاتف. يُرجى الاطّلاع على الملحق "ج" للحصول على معلومات عن
الأجهزة غير الهاتفية.
8.14. عناصر التحكّم في مستوى الصوت
يجب أن تتضمّن الأجهزة المتوافقة مع Android آلية تتيح للمستخدم زيادة
مستوى الصوت وخفضه. يجب أن توفّر عمليات تنفيذ الأجهزة هذه الوظائف للمستخدم في جميع الأوقات،
بغض النظر عن حالة التطبيق. يجوز تنفيذ هذه الوظائف باستخدام مفاتيح الأجهزة المادية
والبرامج والإيماءات ولوحة اللمس وما إلى ذلك، ولكن يجب أن تكون متاحة دائمًا وألا تحجب
منطقة عرض التطبيق المتاحة أو تتداخل معها (راجِع قسم "الشاشة" أعلاه).
عند استخدام هذه الأزرار، يجب إنشاء الأحداث الرئيسية ذات الصلة وإرسالها إلى
التطبيق الذي يعمل في المقدّمة. إذا لم يتم اعتراض الحدث وإيقافه من قِبل التطبيق، يجب أن يعالج تنفيذ
الجهاز الحدث على أنّه وحدة تحكّم في مستوى صوت النظام.
9. التوافق مع الأداء
أحد أهداف "برنامج التوافق مع Android" هو ضمان تجربة تطبيق متّسقة لل
المستهلكين. يجب أن تضمن عمليات التنفيذ المتوافقة تشغيل التطبيقات بشكل صحيح على
الجهاز، ولكن يجب أيضًا أن تضمن تحقيق أداء معقول وتوفير تجربة جيدة للمستخدم بشكل عام.
يجب أن تستوفي عمليات تنفيذ الأجهزة مقاييس الأداء الرئيسية لجهاز متوافق مع الإصدار 1.6 من Android،
كما هو موضّح في الجدول أدناه:
المقياس
حد الأداء
التعليقات
يتم اختبار ذلك من خلال مجموعة أدوات اختبار التوافق (CTS).
التطبيقات التالية
يتم قياس وقت الإطلاق على أنّه إجمالي الوقت الذي يستغرقه
يجب إطلاقه خلال
تحميل النشاط التلقائي بالكامل لل
التطبيق
الوقت المحدّد.
التطبيق، بما في ذلك الوقت الذي يستغرقه بدء
وقت الإطلاق
المتصفّح: أقل من 1300 ملي ثانية
عملية Linux، وتحميل حزمة Android في
الرسائل القصيرة المتعددة الوسائط/الرسائل القصيرة: أقل من 700 ملي ثانية
Dalvik VM، واستدعاء onCreate.
الموقّت: أقل من 650 ملي ثانية
سيتم تشغيل تطبيقات متعددة
يتم اختبار ذلك من خلال CTS.
من المفترض أن يؤدي إعادة تشغيل
التطبيق الأول المتزامن إلى
إكمال
التطبيقات
في وقت أقل من
وقت التشغيل الأصلي.
10. التوافق مع نموذج الأمان
يجب أن تطبّق عمليات تنفيذ الأجهزة نموذج أمان متوافقًا مع نموذج أمان نظام التشغيل Android
كما هو محدّد في مستند المراجع المتعلّقة بالأمان والأذونات في واجهات برمجة التطبيقات [الموارد، 29] في
مستندات مطوّري تطبيقات Android. يجب أن تتيح عمليات تنفيذ الأجهزة تثبيت
التطبيقات الموقَّعة ذاتيًا بدون طلب أي أذونات أو شهادات إضافية من أي جهات خارجية أو سلطات.
على وجه التحديد، يجب أن تكون الأجهزة المتوافقة متوافقة مع آليات الأمان التالية:
10.1. الأذونات
يجب أن تكون عمليات تنفيذ الأجهزة متوافقة مع نموذج أذونات Android كما هو محدّد في مستندات مطوّري تطبيقات
Android [الموارد، 9]. على وجه التحديد، يجب أن تفرض عمليات التنفيذ كل إذن
محدّد كما هو موضّح في مستندات حزمة تطوير البرامج (SDK)، ولا يجوز حذف أي أذونات أو تغييرها أو تجاهلها.
يجوز لعمليات التنفيذ إضافة أذونات إضافية، شرط ألا تكون سلاسل أرقام تعريف الأذونات الجديدة في مساحة الاسم
android.*.
10.2. عزل المستخدمين والعمليات
يجب أن تكون عمليات تنفيذ التطبيقات على الأجهزة متوافقة مع نموذج وضع الحماية الخاص بتطبيقات Android، والذي يعمل فيه كل تطبيق
كمعرّف مستخدم فريد على غرار نظام التشغيل Unix وفي عملية منفصلة.
يجب أن تتيح عمليات تنفيذ الأجهزة تشغيل تطبيقات متعددة باستخدام رقم تعريف مستخدم Linux نفسه، شرط
أن تكون التطبيقات موقَّعة ومُنشأة بشكل صحيح، كما هو محدّد في مرجع
الأمان والأذونات [الموارد، 29].
10.3. أذونات نظام الملفات
يجب أن تتوافق عمليات تنفيذ التطبيق على الجهاز مع نموذج أذونات الوصول إلى الملفات في Android كما هو محدّد في
المراجع [Resources، 29] المتعلّقة بالأمان والأذونات.
11. مجموعة أدوات اختبار التوافق
يجب أن تجتاز عمليات تنفيذ الأجهزة مجموعة أدوات اختبار التوافق مع Android (CTS) [الموارد، 3] المتوفّرة
من "المشروع المفتوح المصدر لنظام Android"، وذلك باستخدام البرنامج النهائي المُرسَل على الجهاز. بالإضافة إلى ذلك،
يجب أن يستخدم مورّدو الأجهزة التنفيذ المرجعي في شجرة المصدر المفتوح لنظام Android قدر الإمكان،
ويجب أن يضمنوا التوافق في حالات الغموض في مجموعة أدوات اختبار التوافق وأي
عمليات إعادة تنفيذ لأجزاء من الرمز المصدر المرجعي.
تم تصميم CTS ليتم تشغيله على جهاز فعلي. مثل أي برنامج، قد تحتوي مجموعة أدوات اختبار التوافق (CTS) على أخطاء.
سيتم إصدار إصدارات من مجموعة أدوات اختبار التوافق (CTS) بشكل مستقل عن "تعريف التوافق" هذا، وقد يتم إصدار عدّة نُسخ من مجموعة أدوات اختبار التوافق (CTS) لنظام التشغيل Android 1.6.
ومع ذلك، لن تعمل هذه الإصدارات إلا على إصلاح الأخطاء السلوكية في اختبارات مجموعة اختبار التوافق (CTS
)، ولن تفرض أي اختبارات أو سلوكيات أو واجهات برمجة تطبيقات جديدة لإصدار معيّن من النظام الأساسي.
12. التواصل معنا
يمكنك التواصل مع فريق التوافق مع Android على العنوان compatibility@android.com للحصول على توضيحات حول
تعريف التوافق هذا ولتقديم ملاحظات حوله.
الملحق أ: أغراض التطبيقات المطلوبة
ملاحظة: هذه القائمة مؤقتة، وسيتم تعديلها في المستقبل.
إجراءات التطبيق
أنواع MIME للتنسيقات
(none)
text/plain
http
text/html
المتصفّح
android.intent.action.VIEW
https
application/xhtml+xml
application/
vnd.wap.xhtml+xml
(none)
android.intent.action.WEB_SEARCH
http
(none)
https
android.media.action.IMAGE_CAPTURE
android.media.action.STILL_IMAGE_CAMERA
الكاميرا
android.media.action.VIDEO_CAMERA
android.media.action.VIDEO_CAPTURE
vnd.android.cursor.dir/
android.intent.action.VIEW
image
android.intent.action.GET_CONTENT
vnd.android.cursor.dir/
android.intent.action.PICK
video
android.intent.action.ATTACH_DATA
image/*
video/*
android.intent.action.VIEW
rtsp
video/mp4
video/3gp
android.intent.action.VIEW
http
video/3gpp
video/3gpp2
android.intent.action.DIAL
الهاتف /
android.intent.action.VIEW
tel
جهات الاتصال
android.intent.action.CALL
android.intent.action.DIAL
vnd.android.cursor.dir/
android.intent.action.VIEW
person
vnd.android.cursor.dir/
person
vnd.android.cursor.dir/
android.intent.action.PICK
phone
vnd.android.cursor.dir/
postal-address
vnd.android.cursor.item/
person
vnd.android.cursor.item/
android.intent.action.GET_CONTENT
phone
vnd.android.cursor.item/
تُستخدَم
EXTRA_CREATE_DESCRIPTION
مع SHOW_OR_CREATE_CONTACT
لتحديد وصف دقيق
لعرضه عند مطالبة المستخدم
بإنشاء جهة اتصال جديدة.
يُستخدَم
مع SHOW_OR_CREATE_CONTACT
EXTRA_FORCE_CREATE
لفرض إنشاء جهة اتصال جديدة في حال عدم العثور على
جهة اتصال مطابقة.
هذا هو الإجراء الذي يتم تنفيذه عند النقر على
SEARCH_SUGGESTION_CLICKED
اقتراح بحث.
هذا هو الإجراء الذي يتم تنفيذه عند النقر على
SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED اقتراح بحث لإنشاء
جهة اتصال.
هذا هو الإجراء الذي يتم تنفيذه عند النقر على
SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED
اقتراح بحث للاتصال برقم
.
يأخذ كإدخال معرّف موارد منتظم للبيانات مع mailto:
SHOW_OR_CREATE_CONTACT
أو مخطّط tel:.
الملحق ب: أغراض البث المطلوبةملاحظة: هذه القائمة مؤقتة، وسيتم
تعديلها في المستقبل.
Intent Action
Description
Broadcast Action: يتم بث هذا الإجراء مرة واحدة، بعد انتهاء عملية تشغيل
ACTION_BOOT_COMPLETED
النظام.
بث الإجراء: يتم بث هذا الإجراء مرة واحدة عند تلقّي مكالمة
ACTION_CALL_BUTTON
.
بث الإجراء: تم الضغط على "زر الكاميرا"
ACTION_CAMERA_BUTTON
.
بث الإجراء:
ACTION_CONFIGURATION_CHANGED
تم تغيير إعدادات (الاتجاه واللغة وما إلى ذلك)
الجهاز الحالي.
ACTION_DATE_CHANGED
بث الإجراء: تغيّر التاريخ.
إجراء البث: يشير إلى حالة انخفاض مساحة التخزين
ACTION_DEVICE_STORAGE_LOW
على الجهاز
إجراء البث: يشير إلى حالة انخفاض مساحة التخزين
ACTION_DEVICE_STORAGE_OK
لم يعُد متوفّرًا على الجهاز
إجراء البث: تم توصيل سماعة رأس سلكية أو
ACTION_HEADSET_PLUG
تم فصلها.
بث الإجراء: تم تغيير أسلوب إدخال
ACTION_INPUT_METHOD_CHANGED
.
بث الإجراء: تمت إزالة الوسائط الخارجية
ACTION_MEDIA_BAD_REMOVAL
من فتحة بطاقة SD، ولكن لم تتم إزالة
نقطة الربط.
إجراء البث: تم الضغط على "زر الوسائط"
ACTION_MEDIA_BUTTON
.
إجراء البث: تتوفّر وسائط خارجية، و
يتم التحقّق منها على القرص. المسار إلى نقطة الربط ل
ACTION_MEDIA_CHECKING
وسائط التحقّق مضمّنة في الحقل
Intent.mData.
بث الإجراء: عبّر المستخدم عن رغبته في
ACTION_MEDIA_EJECT
إزالة وسائط التخزين الخارجية.
إجراء البث: تتوفّر وسائط خارجية و
ACTION_MEDIA_MOUNTED
تم تثبيتها في نقطة تركيبها.
إجراء البث: تتوفّر وسائط خارجية، ولكنّها
تستخدم نظامًا لملفّات غير متوافق (أو فارغ). المسار إلى
ACTION_MEDIA_NOFS
نقطة ربط الوسائط التي يتم التحقّق منها
مضمّنة في الحقل Intent.mData.
إجراء البث: تم
ACTION_MEDIA_REMOVED
إزالة الوسائط الخارجية.
إجراء البث: اكتمال عملية فحص الوسائط
ACTION_MEDIA_SCANNER_FINISHED
فحص دليل.
إجراء البث: يمكنك طلب من أداة فحص الوسائط
ACTION_MEDIA_SCANNER_SCAN_FILE
فحص ملف وإضافته إلى قاعدة بيانات الوسائط.
إجراء البث: بدأ برنامج فحص الوسائط
ACTION_MEDIA_SCANNER_STARTED
فحص دليل.
إجراء البث: تم إلغاء تركيب الوسائط الخارجية
ACTION_MEDIA_SHARED
لأنّه تتم مشاركتها عبر مساحة تخزين USB.
إجراء البث: تتوفّر وسائط خارجية ولكن
ACTION_MEDIA_UNMOUNTABLE
لا يمكن تركيبها.
إجراء البث: تتوفّر وسائط خارجية، ولكن
ACTION_MEDIA_UNMOUNTED
لم يتم تثبيتها في نقطة تركيبها.
إجراء البث: اقترب موعد إجراء مكالمة صادرة
ACTION_NEW_OUTGOING_CALL
.
إجراء البث: تم تثبيت حزمة تطبيق جديدة
ACTION_PACKAGE_ADDED
على الجهاز.
بث الإجراء: تم تغيير حزمة تطبيق حالية
ACTION_PACKAGE_CHANGED
(مثلاً، تم تفعيل مكوّن
أو إيقافه.
Broadcast Action: محو المستخدم بيانات
حزمة يجب أن يسبق هذا الإجراء
ACTION_PACKAGE_RESTARTED، وبعد ذلك
ACTION_PACKAGE_DATA_CLEARED
يتم محو جميع بياناته الثابتة وإرسال هذا
البث. يُرجى العلم أنّ الحزمة التي تمّت إزالتها
لا تتلقّى هذا البث. تحتوي البيانات على
اسم الحزمة.
الإجراء المُرسَل: تمت إزالة حزمة تطبيق حالية
من الجهاز. تحتوي البيانات
ACTION_PACKAGE_REMOVED
على اسم الحزمة. لا تتلقّى الحزمة
التي يتم تثبيتها رسالة Intent هذه.
بث الإجراء: تم تثبيت إصدار جديد من حزمة تطبيق
ACTION_PACKAGE_REPLACED
، ليحلّ محلّ
إصدار حالي سبق أن تم تثبيته.
بث الإجراء: أعاد المستخدم تشغيل
حزمة، وتم إنهاء جميع عملياتها.
يجب إزالة جميع حالات التشغيل المرتبطة بها (العمليات،
ACTION_PACKAGE_RESTARTED
الإشعارات، والتنبيهات، وما إلى ذلك). يُرجى العلم
أنّ الحزمة التي تم إعادة تشغيلها لا تتلقّى هذا
البث. تحتوي البيانات على اسم
الحزمة.
البثّ: لدى بعض موفّري المحتوى
أجزاء من مساحة الاسم الخاصة بهم حيث ينشرون أحداثًا أو عناصر جديدة
ACTION_PROVIDER_CHANGED
قد تهمّ المستخدم
بشكل خاص.
ACTION_SCREEN_OFF
إجراء البث: يتم إرساله بعد أن يتم إطفاء الشاشة.
ACTION_SCREEN_ON
إجراء البث: يتم إرساله بعد أن يتم تشغيل الشاشة.
إجراء البث: تمّت إزالة معرّف مستخدم
ACTION_UID_REMOVED
من النظام.
إجراء البث: دخل الجهاز في وضع
ACTION_UMS_CONNECTED
التخزين الضخم عبر USB.
إجراء البث: خرج الجهاز من وضع
ACTION_UMS_DISCONNECTED
التخزين الضخم عبر USB.
بث الإجراء: يتم إرساله عندما يكون المستخدم
ACTION_USER_PRESENT
بعد تنشيط الجهاز (مثلاً عندما
يختفي شاشة القفل).
بث الإجراء: تغيّرت خلفية النظام الحالية
ACTION_WALLPAPER_CHANGED
.
ACTION_TIME_CHANGED
بث الإجراء: تم ضبط الوقت.
ACTION_TIME_TICK
بث الإجراء: تغيّر الوقت الحالي.
ACTION_TIMEZONE_CHANGED
بث الإجراء: تم تغيير المنطقة الزمنية.
إجراء البث: تغيّرت حالة الشحن أو
ACTION_BATTERY_CHANGED
مستوى شحن البطارية.
إجراء البث: يشير إلى حالة انخفاض طاقة البطارية
ACTION_BATTERY_LOW
على الجهاز. يرتبط هذا البث
بمربّع حوار النظام"تحذير من انخفاض مستوى شحن البطارية".
إجراء البث: يشير إلى أنّ مستوى شحن البطارية جيد الآن
بعد أن كان منخفضًا. سيتم إرسال
ACTION_BATTERY_OKAY
بعد ACTION_BATTERY_LOW عندما تعود البطارية
إلى حالتها الطبيعية.
حالة الشبكة
الإجراء المطلوب
الوصف
إجراء البث المطلوب الذي يشير إلى أنّه قد تم تغيير
NETWORK_STATE_CHANGED_ACTION
حالة اتصال Wi-Fi.
إجراء بث البث الذي يشير إلى أنّ
RSSI_CHANGED_ACTION
RSSI (قوة الإشارة) قد تغيّرت.
إجراء بث البث الذي يشير إلى أنّه تم
SUPPLICANT_STATE_CHANGED_ACTION
الاتصال بالطلب
أو فقدانه
إجراء النية للبث الذي يشير إلى أنّ شبكة Wi-Fi
WIFI_STATE_CHANGED_ACTION
قد تم تفعيلها أو إيقافها أو تفعيلها
أو إيقافها أو غير معروفة
قد يكون قد تغيّر معرّفات الشبكات للشبكات التي تم ضبطها
NETWORK_IDS_CHANGED_ACTION
.
إجراء النية للبث الذي يشير إلى أنّه تم
تغيير قيم الإعداد
ACTION_BACKGROUND_DATA_SETTING_CHANGED لاستخدام بيانات الخلفية
Intent للبث يشير إلى حدوث تغيير في
CONNECTIVITY_ACTION
الاتصال بالشبكة
بث الإجراء: فعَّل المستخدم
ACTION_AIRPLANE_MODE_CHANGED
وضع الطيران على الهاتف أو أوقفه.
الملحق "ج": اعتبارات مستقبلية يوضّح هذا الملحق أجزاء معيّنة من "تعريف التوافق مع Android
1.6"، ويناقش في بعض الحالات التغييرات المتوقّعة أو المخطّط لها في
إصدار مستقبلي من نظام Android الأساسي. هذا الملحق مخصّص لأغراض المعلومات والتخطيط فقط،
وليس جزءًا من تعريف التوافق مع Android 1.6.
1. الأجهزة غير الهاتفية
تم تصميم الإصدار 1.6 من Android للهواتف فقط، ووظائف الهاتف ليست اختيارية. من المتوقّع أن تجعل الإصدارات المستقبلية
من نظام التشغيل Android ميزة الاتصال الهاتفي اختيارية (وبالتالي السماح بأجهزة Android
غير الهاتفية)، ولكن الهواتف فقط هي المتوافقة مع Android 1.6.
2- التوافق مع البلوتوث
لا يتيح الإصدار 1.6 من Android استخدام واجهات برمجة التطبيقات الخاصة بتقنية البلوتوث، لذا من منظور التوافق
لا تفرض تقنية البلوتوث أي اعتبارات لهذا الإصدار من النظام الأساسي. ومع ذلك، سيتضمّن إصدار مستقبلي
من Android واجهات برمجة تطبيقات البلوتوث. وفي هذه الحالة، سيصبح توفُّر تقنية البلوتوث شرطًا أساسيًا للتوافق مع
.
نتيجةً لذلك، ننصحك بشدة بأن تتضمّن أجهزة Android 1.6 تقنية البلوتوث كي تكون
متوافقة مع الإصدارات المستقبلية من Android التي تتطلّب استخدام البلوتوث.
3- مكوّنات الأجهزة المطلوبة
جميع مكوّنات الأجهزة الواردة في القسم 8 (بما في ذلك شبكة Wi-Fi والمقياس المغناطيسي/البوصلة ومقياس التسارع وما إلى ذلك)
مطلوبة ولا يجوز حذفها. من المتوقّع أن تجعل الإصدارات المستقبلية من Android بعضًا (وليس كلّا) من
هذه المكوّنات اختيارية، إلى جانب الأدوات المقابلة للمطوّرين الخارجيين من أجل التعامل مع هذه
التغييرات.
4. نماذج التطبيقات
سيتضمّن مستند تعريف التوافق لإصدار مستقبلي من Android قائمة
أكثر شمولاً وتمثيلاً للتطبيقات مقارنةً بتلك المدرَجة في القسم 4 أعلاه. بالنسبة إلى نظام التشغيل Android 1.6، يجب اختبار
التطبيقات المدرَجة في القسم 4.
5. الشاشات التي تعمل باللمس
قد تسمح الإصدارات المستقبلية من تعريف التوافق للأجهزة بإغفال الشاشات التي تعمل باللمس أو لا تسمح بذلك.
ومع ذلك، يفترض الكثير من عمليات تنفيذ إطار عمل Android حاليًا توفُّر
شاشة تعمل باللمس، وإلا سيؤدي ذلك إلى تعطُّل جميع تطبيقات Android الحالية التابعة لجهات خارجية بشكل كبير.
لذلك، يجب توفُّر شاشة تعمل باللمس في Android 1.6 للتوافق.
6. الأداء
ستقيس الإصدارات المستقبلية من CTS أيضًا استخدام وحدة المعالجة المركزية وأداء
المكوّنات التالية للتنفيذ:
• الرسومات ثنائية الأبعاد
• الرسومات الثلاثية الأبعاد
• تشغيل الفيديو
• تشغيل الصوت
• تشغيل A2DP عبر البلوتوث
مخطّط المستند
- 1. المقدمة
- 2. المراجع
- 3. البرامج
- 4. توافق البرامج المرجعية
- 5. توافق حِزم التطبيقات
- 6. التوافق مع الوسائط المتعددة
- 7. توافق أدوات المطوّرين
- 8. التوافق مع الأجهزة
- 9. التوافق مع الأداء
- 10. توافق نموذج الأمان
- 11. مجموعة أدوات اختبار التوافق
- 12. التواصل معنا
- الملحق أ: أغراض التطبيقات المطلوبة