واجهات برمجة تطبيقات Android 2.2

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

Android 2.2 هو إصدار ثانوي لنظام التشغيل يشمل ميزات المستخدم، وميزات المطوّرين، وتغييرات واجهة برمجة التطبيقات، وإصلاحات الأخطاء. للحصول على معلومات عن ميزات المطوّرين والتغييرات في واجهة برمجة التطبيقات، يُرجى الاطّلاع على القسم Framework API.

بالنسبة إلى المطورين، يتوفر نظام Android 2.2 الأساسي كمكون قابل للتنزيل لحزمة Android SDK. وتشتمل المنصة القابلة للتنزيل على مكتبة Android وصورة نظام، بالإضافة إلى مجموعة من مظاهر المحاكيات وغير ذلك. لبدء تطوير Android 2.2 أو اختباره، استخدم "مدير SDK لنظام التشغيل Android" لتنزيل النظام الأساسي إلى حزمة تطوير البرامج (SDK).

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

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

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

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

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

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

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

توفر الأقسام أدناه معلومات حول التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات لإطار عمل التطبيق المقدمة من نظام Android 2.2 الأساسي.

تثبيت التطبيق على وسائط مساحة التخزين الخارجية

يسمح نظام Android الأساسي للتطبيقات بطلب التثبيت على وسائط وحدة التخزين الخارجية للجهاز (مثل بطاقة SD)، كبديل للتثبيت على ذاكرة الجهاز الداخلية.

يمكن لمطوّري التطبيقات التعبير عن موقع التثبيت المفضّل لتطبيقاتهم باستخدام السمة الجديدة <manifest> في ملف البيان، android:installLocation. تتيح السمة ثلاث قيم، وهي: "internalOnly" و"preferExternal" و "auto". أثناء التثبيت، يتحقّق النظام من قيمة android:installLocation ويثبّت التطبيق .apk وفقًا للموقع الجغرافي المفضّل، إن أمكن. إذا طلب التطبيق تثبيتًا خارجيًا، يثبّته النظام في قسم خاص ومشفَّر في الوسائط الخارجية. بمجرد تثبيت تطبيق .SDK خارجيًا، يتيح النظام للمستخدم تغيير موقع تخزين ملف .AP

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

يُرجى العلم أنّ طلب التثبيت على الوسائط الخارجية للجهاز لا يناسب جميع التطبيقات، لا سيّما لأنّ الوسائط الخارجية قد تكون قابلة للإزالة، وقد يؤدي إلغاء التثبيت/إعادة التثبيت إلى تعطُّل تجربة المستخدم وإعدادات النظام.

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

الغرض هو الاحتفاظ بنسخة احتياطية من البيانات.

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

الرسومات

الوسائط

  • واجهات برمجة تطبيقات جديدة في android.media.AudioManager لإدارة تركيز الصوت والتحكم في النقل وفقدان التركيز الصوتي مؤقتًا وتجنب التداخل
  • غرض جديد للبث لتوجيه الصوت إلى SCO: ACTION_SCO_AUDIO_STATE_CHANGED مع إشارات إضافية تشير إلى حالة جديدة.
  • واجهات برمجة تطبيقات جديدة في SoundPool لرصد اكتمال تحميل الصوت
  • واجهات برمجة تطبيقات جديدة في SoundPool لإيقافها مؤقتًا واستئنافها
  • واجهات برمجة تطبيقات جديدة في MediaRecorder لتحديد إعدادات الصوت لعدد من القنوات ومعدّلات الترميز وأخذ العينات ومعدّل أخذ العينات
  • واجهات برمجة تطبيقات جديدة لإضافة الملفات إلى قاعدة بيانات الوسائط ليتم فحصها تلقائيًا يمكنك الاطّلاع على MediaScannerConnection.scanFile وMediaScannerConnection.OnScanCompletedListener.

التعرّف على الكلام ومحرّكات التعرّف التابعة لجهات خارجية

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

الكاميرا وكاميرا الفيديو

  • تغييرات في واجهة برمجة تطبيقات معاينة الكاميرا لتحسين كفاءة مسار المعاينة
  • اتجاه عرض جديد للكاميرا (يمكن أن يعمل الآن في الاتجاه العمودي).
  • واجهات برمجة تطبيقات جديدة في android.hardware.Camera لإدارة مستوى التكبير/التصغير
  • واجهات برمجة التطبيقات android.hardware.Camera.Parameters الجديدة لطلب البحث عن إعدادات كاميرا الجهاز وضبطها، مثل البعد البؤري والتعرّض للضوء ومستوى التكبير/التصغير وزاوية الرؤية وغير ذلك
  • أداة thumbnail جديدة للصور المصغّرة للفيديوهات والصور.
  • تتيح الفئتان الجديدتان CamcorderProfile وCamcorderProfile للتطبيقات تحديد إمكانيات الكاميرا للأجهزة.
  • دعم جديد في android.media.ExifInterface لاسترداد نظام تحديد المواقع العالمي (GPS) والبعد البؤري.

مدير سياسات الجهاز

تسمح واجهات برمجة التطبيقات الجديدة لإدارة سياسة الجهاز للمطوّرين بكتابة تطبيقات "مشرف الجهاز" التي يمكنها التحكّم في ميزات الأمان للجهاز، مثل الحد الأدنى لقوة كلمة المرور وحجب البيانات وما إلى ذلك. يمكن للمستخدمين تحديد المشرفين الذين تم تمكينهم على أجهزتهم. لمزيد من المعلومات، يُرجى الاطّلاع على فئات "android.app.admin" أو نموذج رمز التطبيق في DeviceAdminعيّن.java.

إطار عمل واجهة المستخدم

  • إنّ الوضعَين الجديدَين لواجهة المستخدم "وضع السيارة" و "الوضع الليلي" وUiModeManager يسمحان للتطبيقات بضبط واجهة مستخدم التطبيق بما يتناسب مع أوضاع معيّنة للمستخدمين.
  • ScaleGestureDetector جديد يسمح لـ المشاهدات باكتشاف إيماءات التحويل التي تتضمن أكثر من مؤشر واحد (اللمس المتعدد) والتعامل معها باستخدام أحداث Motionevents.
  • التحسينات على طريقة إعداد التقارير عن أحداث اللمس المتعدد في MotionEvent عناصر
  • تمت إعادة تسمية سمة التنسيق fill_parent لتصبح match_parent. يؤثر ذلك في رمزَي XML وJava (راجِع ViewGroup.LayoutParams). يُرجى العلم بأنّ النظام الأساسي سيستمر في قبول استخدامات fill_parent في التطبيقات القديمة.
  • تسمح سمات التنسيق الجديدة tabStripEnabled وtabStripRight وtabStripLeft للمطوّرين بتخصيص الشريط السفلي في TabWidgets.
  • دعم أفضل لمربّعات الحوار المُدارة في "النشاط".

الحسابات والمزامنة

  • تتيح لك الطريقة الجديدة AddPeriodicSync() جدولة مزامنة دورية مع حساب وجهة إصدار معيّن وعناصر إضافية بالوتيرة المحدّدة.

عناصر وسمات بيان جديدة

  • لتحديد موقع التثبيت المفضل للتطبيق (راجِع تثبيت التطبيق على وسائط التخزين الخارجية أعلاه):
    • السمة android:installLocation الجديدة للعنصر <manifest> تُحدِّد هذه السياسة موقع التثبيت التلقائي الذي يحدِّده التطبيق.
  • لإدارة الاحتفاظ بنسخة احتياطية من بيانات المستخدمين (راجِع مدير النسخ الاحتياطي أعلاه للحصول على مزيد من المعلومات):
    • السمة android:backupAgent الجديدة للعنصر <application> تحدد اسم مكوّن الفئة الفرعية BackupAgent التي يوفرها التطبيق لمعالجة عمليات النسخ الاحتياطي/الاستعادة، إن وجدت.
    • السمة android:restoreAnyVersion الجديدة للعنصر <application> قيمة منطقية تشير إلى ما إذا كان التطبيق مُعدًّا لمحاولة استعادة أي مجموعة بيانات تم الاحتفاظ بنسخة احتياطية منها، حتى إذا كان يبدو أنّ النسخة الاحتياطية من إصدار أحدث من التطبيق يزيد عن المثبَّت حاليًا على الجهاز.
  • لإدارة أداة تجميع JIT للنظام الأساسي:
    • السمة android:vmSafeMode الجديدة للعنصر <application> قيمة منطقية تحدّد ما إذا كان سيتم إيقاف تحسينات برنامج التجميع أثناء التشغيل (JIT) عند تشغيل التطبيق.

الأذونات

  • android.permission.BIND_DEVICE_ADMIN — يجب أن يطلب أي جهاز استقبال بث لإدارة الجهاز هذا الإذن، لضمان عدم تفاعل سوى النظام مع الجهاز.
  • android.permission.KILL_BACKGROUND_PROCESSES — يسمح لتطبيق ما بالاتصال بـ killBackgroundProcesses(String).
  • android.permission.BIND_WALLPAPER - يجب أن يطلب أي WallpaperService الحصول على هذا الإذن، لضمان أن النظام فقط هو من يمكنه التفاعل معه.
  • android.permission.SET_TIME — يتيح هذا الإذن لتطبيق ضبط وقت النظام.

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

للحصول على عرض تفصيلي لجميع التغييرات في واجهة برمجة التطبيقات في الإصدار Android 2.2 (المستوى 8 من واجهة برمجة التطبيقات)، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.