الإصدار 1 من Android 2.0

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

Android 2.0 هو إصدار رئيسي من إصدارات النظام الأساسي قابل للنشر على الهواتف التي تعمل بنظام التشغيل Android بدءًا من تشرين الثاني (نوفمبر) 2009. يتضمن هذا الإصدار ميزات جديدة للمستخدمين والمطوّرين، بالإضافة إلى تغييرات في واجهة برمجة التطبيقات الخاصة بإطار عمل Android.

بالنسبة إلى المطورين، يتوفر نظام Android 2.0 الأساسي كمكون قابل للتنزيل لحزمة Android SDK. يشتمل النظام الأساسي القابل للتنزيل على مكتبة Android وصورة نظام متوافقة تمامًا، بالإضافة إلى مجموعة من أشكال المحاكي ونماذج من التطبيقات والمزيد. النظام الأساسي القابل للتنزيل متوافق بالكامل ولا يتضمن أي مكتبات خارجية.

لبدء تطوير البرامج أو اختبارها بناءً على نظام Android 2.0 الأساسي، عليك استخدام أداة Android SDK وAVD Manager لتنزيل النظام الأساسي إلى حزمة SDK.

أهم تفاصيل المنصة

للحصول على قائمة بميزات المستخدم الجديدة وأهمّ الميزات المتعلّقة بالنظام الأساسي، راجِع مستند أهم ميزات نظام التشغيل Android 2.0.

التطبيقات المدمجة

توفر صورة النظام المضمنة في النظام الأساسي القابل للتنزيل هذه التطبيقات المضمنة:

  • منبّه
  • المتصفح
  • الآلة الحاسبة
  • كاميرا فيديو
  • الكاميرا
  • جهات الاتصال
  • لغة مخصصة (تطبيق المطوِّر)
  • أدوات مطوّري البرامج (تطبيق مطوّري البرامج)
  • Dialer
  • عنوان البريد الإلكتروني
  • معرض الصور
  • أداة إنشاء الإيماءات
  • أداة IME لإدخال النص باللغة اليابانية
  • المراسلة
  • تطبيق موسيقى
  • الإعدادات
  • قطع غيار (تطبيق مطوِّر)

اللغات

توفّر صورة النظام المضمّنة في النظام الأساسي القابل للتنزيل مجموعة متنوعة من اللغات المضمّنة. في بعض الحالات، تتوفّر سلاسل خاصة بمنطقة محدّدة للّغات. وفي حالات أخرى، يتم استخدام نسخة افتراضية من اللغة. تم إدراج اللغات المتوفرة في صورة نظام Android 2.0 أدناه (مع وصف اللغة language_country/region).

  • الصينية، جمهورية الصين الشعبية (zh_CN)
  • الصينية، تايوان (zh_TW)
  • التشيكية (cs_CZ)
  • الهولندية وهولندا (nl_NL)
  • الهولندية وبلجيكا (nl_BE)
  • الإنجليزية، الولايات المتحدة (en_US)
  • الإنجليزية، بريطانيا (en_GB)
  • الإنجليزية، كندا (en_CA)
  • الإنجليزية، أستراليا (en_AU)
  • الإنجليزية، نيوزيلندا (en_NZ)
  • الإنجليزية، سنغافورة(en_SG)
  • الفرنسية، فرنسا (fr_FR)
  • الفرنسية، بلجيكا (fr_BE)
  • الفرنسية، كندا (fr_CA)
  • الفرنسية، سويسرا (fr_CH)
  • الألمانية، ألمانيا (de_DE)
  • الألمانية، النمسا (de_AT)
  • الألمانية، سويسرا (de_CH)
  • الألمانية، ليختنشتاين (de_LI)
  • الإيطالية، إيطاليا (it_IT)
  • الإيطالية، سويسرا (it_CH)
  • اليابانية (ja_JP)
  • الكورية (ko_KR)
  • البولندية (pl_PL)
  • الروسية (ru_RU)
  • يتحدّث باللغة الإسبانية (es_ES)
  • تتطابق سلاسل واجهة المستخدم المترجَمة مع اللغات التي يمكن الوصول إليها من خلال الإعدادات.

    مظاهر المحاكاة

    يشتمل النظام الأساسي القابل للتنزيل على مجموعة من مظاهر المحاكيات التي يمكنك استخدامها لتصميم تطبيقك بأحجام شاشات ودرجات دقة مختلفة. مظاهر المحاكي هي:

    • QVGA (240 × 320، كثافة منخفضة، شاشة صغيرة)
    • WQVGA (240 × 400، كثافة منخفضة، شاشة عادية)
    • FWQVGA (240 × 432، كثافة منخفضة، شاشة عادية)
    • HVGA (320 × 480، كثافة متوسطة، شاشة عادية)
    • WVGA800 (480×800، كثافة عالية، شاشة عادية)
    • WVGA854 (480×854 كثافة عالية، شاشة عادية)

    لمزيد من المعلومات حول كيفية تطوير تطبيق يعمل على العرض ويعمل بشكل صحيح على جميع الأجهزة التي تعمل بنظام تشغيل Android، يُرجى الاطّلاع على دعم الشاشات المتعددة.

    ميزات المطوّرين

    توفِّر الأقسام أدناه معلومات عن الميزات الجديدة لمطوّري البرامج التي يوفّرها مكوّن النظام الأساسي Android 2.0 القابل للتنزيل.

    دعم النملة

    • توقيع التطبيق في وضع تصحيح الأخطاء والإصدار. إنّ التوقيع في وضع الإصدار يتضمّن دعمًا متكاملاً لتحسين zipalign. لمزيد من المعلومات، يُرجى الاطّلاع على توقيع تطبيقاتك.
    • تتم إضافة نظام إنشاء Ant جديد مع دعم مشاريع قياس حالة "إيما" (تغطية الرموز البرمجية).

    واجهة برمجة تطبيقات إطار العمل

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

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

    يقدم نظام Android 2.0 الأساسي إصدارًا محدَّثًا من واجهة برمجة التطبيقات لإطار العمل. كما هي الحال في الإصدارات السابقة، يتم تخصيص معرّف عدد صحيح 5 لواجهة برمجة التطبيقات Android 2.0 ويتم تخزينه في النظام نفسه. ويتيح هذا المعرّف، المسمى "مستوى واجهة برمجة التطبيقات"، للنظام تحديد ما إذا كان التطبيق متوافقًا مع النظام بشكل صحيح قبل تثبيت التطبيق.

    لاستخدام واجهات برمجة التطبيقات التي تم تقديمها في الإصدار Android 2.0 في تطبيقك، عليك ضبط القيمة المناسبة، "5"، في سمات العنصر <uses-sdk> في بيان التطبيق.

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

    ملخّص تغييرات واجهة برمجة التطبيقات

    البلوتوث

    • تفعيل البلوتوث أو إيقافه
    • اكتشاف الأجهزة والخدمات
    • الاتصال بجهاز بعيد باستخدام بروتوكول RFCOMM وإرسال/استلام البيانات
    • الإعلان عن خدمات بروتوكول RFCOMM والاستماع إلى اتصال RFCOMM الوارد

    مزامنة محوّلات

    • واجهات برمجة تطبيقات جديدة لمهايئات المزامنة للاتصال بأي خلفية

    مدير الحساب

    • واجهة برمجة تطبيقات مركزية لإدارة الحسابات لتخزين الرموز المميزة/كلمات المرور والوصول إليها بأمان

    جهات الاتصال

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

    WebView

    • الفئات التي تم إيقافها نهائيًا: UrlInterceptHandler و Plugin و PluginData و PluginList وUrlInterceptRegistry.

    الكاميرا

    • معلمات جديدة لتأثير الألوان ووضع المشهد ووضع الفلاش ووضع التركيز وتوازن اللون الأبيض والتدوير وإعدادات أخرى.
    • واجهة ZoomCallback جديدة لتنفيذ إجراءات عند تغيير مستوى التكبير/التصغير.

    الوسائط

    • ينشئ MediaScanner الآن صورًا مصغرة لجميع الصور عند إدراجها في MediaStore.
    • واجهة برمجة تطبيقات جديدة للصور المصغّرة لاسترداد الصور المصغّرة للفيديوهات والصور عند الطلب

    إطار عمل آخر

    • مظاهر نظام جديدة في android.R.style لعرض الأنشطة بسهولة على خلفية النظام الحالية أو إبقاء النشاط السابق مرئيًا في الخلفية.
    • تحلّ واجهة برمجة التطبيقات الجديدة خلفيات واجهة برمجة التطبيقات محلّ وتوسّع واجهات برمجة تطبيقات الخلفية التي كانت في السابق في Context، وذلك للسماح للتطبيقات بطلب خلفية النظام وضبطها.
    • واجهات برمجة تطبيقات جديدة للخدمات لمساعدة التطبيقات في التعامل مع دورة حياة الخدمة بشكل صحيح، وخاصة حالات انخفاض الذاكرة التي قد يتم فيها إيقاف إحدى الخدمات أثناء تشغيلها.
      • تم إيقاف Service.setForeground() ولا تؤدي الآن أي عملية بفعالية. ويتم استبدال هذه الواجهة بواجهة برمجة تطبيقات جديدة، startForeground() ، تساعد (وتتطلّب) ربط الإشعار الجاري بالحالة التي تظهر في المقدّمة.
    • يمكن لـ MotionEvent الآن الإبلاغ عن معلومات اللمس المتزامن للأجهزة المتوافقة. يمكن تتبع ما يصل إلى ثلاثة مؤشرات في وقت واحد.
    • يحتوي KeyEvent على واجهات برمجة تطبيقات جديدة لإرسال المفاتيح للمساعدة في تنفيذ الإجراءات المرتبطة بالإجراءات والضغط مع الاستمرار، بالإضافة إلى آلية جديدة لإلغاء الضغط على المفاتيح (للمفاتيح الافتراضية).
    • يحتوي WindowManager.LayoutParams على ثوابت جديدة تسمح للنافذة بتنشيط الشاشة عند عرضها وعرض النافذة حتى إذا كانت الشاشة مقفلة. ويسمح هذا للتطبيقات بتنفيذ إجراءات أكثر وضوحًا، مثل المنبّهات التي من المفترض أن توقظ الجهاز.
    • واجهات برمجة تطبيقات Intent جديدة تبث حالة إرساء الجهاز وتسمح للتطبيقات ببدء أنشطة خاصة عند وضع الجهاز على كمبيوتر مكتبي أو قاعدة إرساء للسيارة.

    الأحداث الرئيسية التي تم تنفيذها أثناء الضغط على المفتاح

    تم تصميم Android 2.0 للتشغيل على الأجهزة التي تستخدم المفاتيح الافتراضية للشاشة الرئيسية والقائمة والرجوع والبحث، بدلاً من المفاتيح الخارجية. لتوفير أفضل تجربة للمستخدم على هذه الأجهزة، ينفذ نظام Android الأساسي الآن هذه الأزرار عند الضغط على المفتاح الرئيسي، بدلاً من زوج المفاتيح لأسفل/المفتاح لأسفل. يساعد هذا على منع أحداث الأزرار غير المقصودة ويتيح للمستخدم الضغط على منطقة الزر ثم السحب منها بدون إنشاء أي حدث.

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

    بوجه عام، لا يوصى باعتراض مفتاح BACK في أحد التطبيقات، ومع ذلك، إذا كان تطبيقك يفعل ذلك واستدعى بعض الإجراءات عند النقر على المفتاح، بدلاً من الضغط على المفتاح، يجب تعديل الرمز البرمجي.

    إذا كان تطبيقك سيستخدم واجهات برمجة التطبيقات التي تم تقديمها في Android 2.0 (المستوى 5 من واجهة برمجة التطبيقات)، يمكنك الاستفادة من واجهات برمجة التطبيقات الجديدة لإدارة أزواج الأحداث الرئيسية:

    • إذا كنت تعترض مفتاح BACK في نشاط أو مربّع حوار، ما عليك سوى تنفيذ طريقة onBackPressed() الجديدة.
    • في حال اعتراض مفتاح "BACK" في إحدى طرق العرض، عليك تتبُّع الحدث الرئيسي عند النقر على مفتاح السهم المتّجه للأسفل (من خلال طريقة 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 من واجهة برمجة التطبيقات)، مقارنةً بالإصدار السابق، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.