Android 2.0، الإصدار 1

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

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

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

لبدء تطوير البرامج أو اختبارها على نظام Android 2.0 الأساسي، استخدِم حزمة تطوير البرامج (SDK) لنظام التشغيل Android وأداة "مدير AVD" لتنزيل النظام الأساسي إلى حزمة تطوير البرامج (SDK).

أبرز ميزات المنصة

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

التطبيقات المضمنة

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

  • منبّه
  • المتصفح
  • الآلة الحاسبة
  • كاميرا فيديو
  • الكاميرا
  • جهات اتصال Google
  • لغة مخصّصة (تطبيق مطوِّر)
  • أدوات مطوّري البرامج (تطبيق مطوّري البرامج)
  • 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 جديد مع دعم مشاريع أدوات حساب Emma (تغطية الرموز البرمجية).

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

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

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

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

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

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

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

    البلوتوث

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

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

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

    مدير الحساب

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

    جهات اتصال Google

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

    WebView

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

    الكاميرا

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

    الوسائط

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

    إطار عمل آخر

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

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

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

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

    لا يُنصح عمومًا باعتراض مفتاح 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 من واجهة برمجة التطبيقات)، مقارنةً بالإصدار السابق، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.