الإصدار 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 لإدخال النص باللغة اليابانية
  • المراسلة
  • الموسيقى
  • الإعدادات
  • Spare Parts (تطبيق المطوّر)

Local

توفّر صورة النظام المضمّنة في المنصة القابلة للتنزيل مجموعة متنوّعة من المحلية المدمجة. في بعض الحالات، تتوفر السلاسل الخاصة بالمنطقة المحلية. وفي حالات أخرى، يتم استخدام النسخة التلقائية من اللغة. تشير رسالة الأشكال البيانية اللغات المتوفرة في نظام 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 (240x320، كثافة منخفضة، شاشة صغيرة)
    • WQVGA (240×400، كثافة منخفضة، شاشة عادية)
    • FWQVGA (240×432، كثافة منخفضة، شاشة عادية)
    • HVGA (‎320×480، كثافة متوسطة، شاشة عادية)
    • ‫WVGA800 (‎480x800، كثافة عالية، شاشة عادية)
    • WVGA854 (دقة عالية 480x854، شاشة عادية)

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

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

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

    فريق دعم Ant

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

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

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

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

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

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

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

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

    البلوتوث

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

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

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

    مدير الحساب

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

    جهات الاتصال

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

    WebView

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

    الكاميرا

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

    الوسائط

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

    إطار عمل آخر

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

    الأحداث الرئيسية التي يتم تنفيذها عند رفع إصبع المستخدم عن مفتاح

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

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

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

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

    • إذا كنت تعترض مفتاح BACK في نشاط أو مربّع حوار، ما عليك سوى تنفيذ الطريقة الجديدة 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);
          }

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

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

    للاطّلاع على عرض تفصيلي لتغييرات واجهة برمجة التطبيقات في Android 2.0 (المستوى 5 من واجهة برمجة التطبيقات)، مقارنةً بالإصدار السابق، يُرجى الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.