مستوى واجهة برمجة التطبيقات: 5
Android 2.0 هو إصدار رئيسي لنظام التشغيل قابلة للنشر على الهواتف التي تعمل بنظام التشغيل Android اعتبارًا من تشرين الثاني (نوفمبر) 2009. يتضمن الإصدار ميزات جديدة للمستخدمين والمطوّرين، بالإضافة إلى تغييرات في واجهة برمجة تطبيقات إطار عمل Android.
أمّا المطوّرون، فيتوفّرون النظام الأساسي Android 2.0 قابل للتنزيل لحزمة Android SDK. تتضمن المنصة القابلة للتنزيل مكتبة Android وصورة نظام متوافقة تمامًا، بالإضافة إلى مجموعة من أدوات المحاكاة والمظاهر والتطبيقات التجريبية وغيرها. المنصة القابلة للتنزيل مجهزة بالكامل متوافق ولا تتضمن أي مكتبات خارجية.
لبدء تطوير التطبيقات أو إجراء الاختبارات استنادًا إلى نظام Android الإصدار 2.0، استخدم أداة Android SDK وAVD Manager ونزِّل النظام الأساسي في حزمة تطوير البرامج (SDK) الخاصة بك.
أهم اللقطات في المنصة
للحصول على قائمة بميزات المستخدم الجديدة وأهم ميزات النظام الأساسي، يمكن مراجعة مقالة Android 2.0 مستند النقاط المهمة للنظام الأساسي.
التطبيقات المضمنة
توفّر صورة النظام المضمّنة في المنصة القابلة للتنزيل ما يلي: التطبيقات المدمجة:
|
|
Local
توفّر صورة النظام المضمّنة في المنصة القابلة للتنزيل مجموعة متنوعة من المحلية المدمجة. في بعض الحالات، تتوفر السلاسل الخاصة بالمنطقة المحلية. وفي حالات أخرى، يتم استخدام النسخة التلقائية من اللغة. تشير رسالة الأشكال البيانية اللغات المتاحة في نظام Android 2.0 الصورة مدرجة أدناه (مع اللغة language_country/region ).
|
|
تطابق سلاسل واجهة المستخدم المترجَمة اللغات التي يمكن الوصول إليها من خلال "الإعدادات"
مظاهر المحاكي
يتضمن النظام الأساسي القابل للتنزيل مجموعة من مظاهر المحاكيات التي يمكنك استخدامها لتصميم تطبيقك بأحجام شاشات ودرجات دقة مختلفة. تشمل مظاهر المحاكي ما يلي:
- QVGA (240×320، كثافة منخفضة، شاشة صغيرة)
- WQVGA (240×400، كثافة منخفضة، شاشة عادية)
- FWQVGA (240×432، كثافة منخفضة، شاشة عادية)
- HVGA (320×480، كثافة متوسطة، شاشة عادية)
- WVGA800 (480×800، كثافة عالية، شاشة عادية)
- WVGA854 (دقة عالية 480x854، شاشة عادية)
لمزيد من المعلومات عن كيفية تطوير تطبيق يعرض ويعمل بشكل صحيح على جميع الأجهزة التي تعمل بنظام التشغيل Android، يُرجى الاطّلاع على إتاحة الشاشات المتعددة.
ميزات المطوّرين
تقدّم الأقسام أدناه معلومات عن الميزات الجديدة للمطوّرين التي يوفّرها مكوّن النظام الأساسي Android 2.0 القابل للتنزيل.
دعامة النمل
- توقيع التطبيق في وضع تصحيح الأخطاء ووضع الإصدار يتضمن التوقيع في وضع الإصدار توافقًا متكاملاً لتحسين
zipalign
. لمزيد من المعلومات، يمكنك الاطّلاع على توقيع طلباتك. - إضافة نظام إصدار Ant جديد مع دعم لمشاريع أدوات Emma (تغطية الرمز البرمجي).
واجهة برمجة تطبيقات إطار العمل
تقدِّم الأقسام أدناه معلومات عن واجهة برمجة التطبيقات الخاصة بإطار عمل التطبيقات التي يوفّرها النظام الأساسي Android 2.0.
مستوى واجهة برمجة التطبيقات
يوفِّر نظام Android 2.0 الأساسي إصدارًا محدَّثًا من إطار العمل. واجهة برمجة التطبيقات. كما هو الحال في الإصدارات السابقة، Android 2.0 API يتم تخصيص معرّف عدد صحيح — 5 — أي في النظام نفسه. ويتيح هذا المعرّف، يُسمى "مستوى واجهة برمجة التطبيقات"، لتحديد ما إذا كان التطبيق متوافقًا مع النظام، قبل تثبيت التطبيق.
لاستخدام واجهات برمجة التطبيقات المقدّمة في الإصدار 2.0 من نظام التشغيل Android في تطبيقك، عليك:
اضبط القيمة المناسبة، "5"، في سمات <uses-sdk>
.
في بيان التطبيق.
لمزيد من المعلومات حول كيفية استخدام مستوى واجهة برمجة التطبيقات، يُرجى الاطّلاع على مستند مستويات واجهة برمجة التطبيقات.
ملخّص تغييرات واجهة برمجة التطبيقات
البلوتوث
- تفعيل البلوتوث أو إيقافه
- اكتشاف الأجهزة والخدمات
- الاتصال بجهاز بعيد باستخدام RFCOMM وإرسال/استلام البيانات
- الإعلان عن خدمات RFCOMM والاستماع إلى اتصال RFCOMM الوارد
محوّلات المزامنة
- واجهات برمجة تطبيقات جديدة لمحوّلات المزامنة للاتصال بأي واجهة خلفية
مدير الحساب
- واجهة برمجة تطبيقات مركزية لإدارة الحسابات لتخزين الرموز المميّزة/كلمات المرور للمصادقة والوصول إليها بأمان
جهات اتصال Google
- واجهات برمجة تطبيقات جهات الاتصال الجديدة التي تسمح باستخدام البيانات من حسابات متعددة
- تتيح واجهات برمجة التطبيقات الجديدة لإطار عمل "الاتصال السريع" للمطوّرين إنشاء شارات جهات الاتصال في تطبيقاتهم. يؤدي النقر على الشارة إلى فتح نافذة بها قائمة من طرق التواصل مع الشخص بنقرة واحدة.
WebView
- الفئات التي تم إيقافها نهائيًا: UrlInterceptHandler، و PluginData، و PluginData، و PluginList، وUrlInterceptRegistry.
الكاميرا
- معلمات جديدة لتأثير الألوان ووضع المشهد ووضع الفلاش ووضع التركيز وموازنة اللون الأبيض والتدوير وإعدادات أخرى
- واجهة ZoomCallback الجديدة لتنفيذ الإجراءات عند تغيير مستوى التكبير أو التصغير
الوسائط
- ينشئ MediaScanner الآن صورًا مصغرة لجميع الصور عند إدراجها في MediaStore.
- واجهة برمجة تطبيقات جديدة للصور المصغّرة لاسترداد الصور المصغرة والفيديوهات عند الطلب.
إطار عمل آخر
- مظاهر نظام جديدة في android.R.style لعرض الأنشطة بسهولة فوق خلفية النظام الحالية أو إبقاء النشاط السابق مرئيًا في الخلفية.
- تحلّ واجهة برمجة التطبيقات BackgroundManager API الجديدة محلّ واجهات برمجة تطبيقات الخلفية التي كانت متوفّرة سابقًا في السياق، ووسّعها للسماح للتطبيقات بطلب خلفية النظام وضبطها.
- واجهات برمجة تطبيقات جديدة للخدمة لمساعدة التطبيقات في التعامل مع دورة حياة الخدمة بشكل صحيح، وخاصةً في حالات انخفاض الذاكرة التي قد يتم إنهاء خدمة فيها أثناء تشغيلها.
- تم إيقاف Service.setForeground() نهائيًا، ولم يتم الآن تنفيذ أي عملية بشكل فعّال. ويتم استبداله بواجهة برمجة تطبيقات جديدة، وهي startForeground() ، والتي تساعد (وتتطلّب) ربط الإشعار الجاري بحالة المقدّمة.
- بإمكان MotionEvent الآن الإبلاغ عن معلومات اللمس المتزامنة للأجهزة المتوافقة. يمكن تتبع ما يصل إلى ثلاث مؤشرات في وقت واحد.
- يحتوي KeyEvent على واجهات برمجة تطبيقات جديدة لإرسال المفاتيح للمساعدة في تنفيذ سلوك العمل عند الضغط والضغط مع الاستمرار، بالإضافة إلى آلية جديدة لإلغاء ضغطات المفاتيح (للمفاتيح الافتراضية).
- يحتوي WindowManager.LayoutParams على ثوابت جديدة تسمح للنافذة بتنشيط الشاشة عند عرضها وإظهار النافذة حتى إذا كانت الشاشة مقفلة. وهذا يسمح للتطبيقات بتنفيذ مهام أكثر دقة، مثل المنبهات التي من المفترض أن تعمل على تنشيط الجهاز.
- واجهات برمجة تطبيقات Intent جديدة تبث حالة إرساء الجهاز وتسمح للتطبيقات بتشغيل أنشطة خاصة عند وضع الجهاز على سطح مكتب أو قاعدة إرساء للسيارة
الأحداث الرئيسية التي يتم تنفيذها عند الضغط على مفتاح
تم تصميم Android 2.0 للعمل على الأجهزة التي تستخدم المفاتيح الافتراضية للمنزل، "MENU" و"BACK" (رجوع) و"SEARCH" (البحث) بدلاً من المفاتيح الخارجية. لدعم أفضل مستخدم على تلك الأجهزة، ينفِّذ نظام Android الأساسي هذه الأزرار لإقران مفتاح-مفتاح-أسفل، بدلاً من مفتاح لأسفل. ويساعد هذا في منع أحداث الأزرار العرضية ويسمح للمستخدم بالضغط على منطقة الزر ثم سحبه بدون إنشاء حدث.
ومن المفترض أن يؤثر هذا التغيير في السلوك في تطبيقك فقط في حال: اعتراض أحداث الأزرار واتخاذ إجراء عند الضغط على مفتاح لأسفل، بدلاً من مفتاح المتابعة. وخاصة إذا كان تطبيقك يعترض مفتاح BACK (رجوع)، فيجب عليك تأكَّد من أنّ تطبيقك يتعامل مع الأحداث الرئيسية بشكل صحيح.
بشكل عام، لا يُنصح باعتراض مفتاح BACK في أحد التطبيقات، ومع ذلك، إذا كان التطبيق الخاص بك يقوم بذلك، ويتطلب اتخاذ بعض الإجراءات أو مفتاح الضغط، بدلاً من مفتاح السهم المتّجه للأسفل، يجب عليك تعديل الرمز البرمجي.
إذا كان تطبيقك سيستخدم واجهات برمجة التطبيقات التي تم توفيرها في Android 2.0 (مستوى واجهة برمجة التطبيقات 5)، يمكنك الاستفادة من واجهات برمجة التطبيقات الجديدة لإدارة أزواج الأحداث الرئيسية:
- إذا كنت تعترض مفتاح الرجوع في نشاط أو مربع حوار،
وتنفيذ طريقة
onBackPressed()
الجديدة. - في حال كنت تعترض مفتاح الرجوع في عرض، يجب تتبع المفتاح
حدث عند الضغط على مفتاح السهم (من خلال
startTracking()
الجديد) ثم استدعاء الإجراء في المفتاح الأساسي. إليك نمط يمكنك استخدامه:
Kotlin
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { return when (keyCode) { KeyEvent.KEYCODE_BACK -> { if (event.repeatCount == 0) { event.startTracking() true } else { false } } ... else -> super.onKeyDown(keyCode, event) } } override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean { return when (keyCode) { KeyEvent.KEYCODE_BACK -> { if (event.isTracking && !event.isCanceled) { // *** DO ACTION HERE *** true } else { false } } ... else -> super.onKeyUp(keyCode, event) } }
Java
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { event.startTracking(); return true; } return super.onKeyDown(keyCode, event); } public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking() && !event.isCanceled()) { // *** DO ACTION HERE *** return true; } return super.onKeyUp(keyCode, event); }
إذا كنت ترغب في تحديث تطبيق قديم بحيث يمكن معالجة طلب الرجوع بشكل صحيح لكل من Android 2.0 وإصدارات النظام الأساسي الأقدم، استخدام طريقة مشابهة لتلك الموضحة أعلاه. يمكن لتعليمتك البرمجية اكتشاف حدث زر الهدف على مفتاح لأسفل، وتعيين علامة لتتبع الحدث الرئيسي، ثم متابعة الحدث أيضًا عند إدارة المفتاح، وتنفيذ الإجراء المطلوب إذا كان التتبع تم تعيين العلامة. ستحتاج أيضًا إلى ملاحظة التغييرات التي يتم إجراؤها على التركيز ومحو التتبع عند كسب/فقدان التركيز.
تقرير الاختلافات في واجهة برمجة التطبيقات
لعرض تفصيلي حول تغييرات واجهة برمجة التطبيقات في Android 2.0 (المستوى 5 لواجهة برمجة التطبيقات)، مقارنةً بـ في الإصدار السابق، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.