مستوى واجهة برمجة التطبيقات: 8
Android 2.2 هو إصدار ثانوي من النظام الأساسي يتضمّن ميزات مفيدة للمستخدمين ومميزات للمطوّرين وتغييرات على واجهات برمجة التطبيقات وإصلاحات للأخطاء. للحصول على معلومات عن ميزات المطوّرين وتغييرات واجهة برمجة التطبيقات، يُرجى الاطّلاع على القسم Framework API.
تتوفّر منصّة Android 2.2 للمطوّرين كأحد المكونات التي يمكن تنزيلها لحزمة تطوير البرامج (SDK) لنظام التشغيل Android. تتضمّن المنصة القابلة للتنزيل مكتبة Android وصورة نظام، بالإضافة إلى مجموعة من أشكال المحاكي وغيرها. لبدء تطوير التطبيقات أو اختبارها على نظام التشغيل Android 2.2، استخدِم "مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android" لتنزيل النظام الأساسي في حزمة SDK.
أبرز الميزات في المنصة
للحصول على قائمة بالميزات الجديدة للمستخدمين وأهم الميزات في النظام الأساسي، اطّلِع على مستند أهم الميزات في نظام Android 2.2 الأساسي.
مستوى واجهة برمجة التطبيقات
توفّر منصة Android 2.2 إصدارًا معدَّلاً من واجهة برمجة التطبيقات لإطار العمل. تم منح واجهة برمجة التطبيقات لنظام التشغيل Android 2.2 معرّفًا عدديًا هو 8 ويتم تخزينه في النظام نفسه. يُعرف هذا المعرّف باسم "مستوى واجهة برمجة التطبيقات"، ويسمح للنظام بتحديد ما إذا كان التطبيق متوافقًا مع النظام بشكلٍ صحيح قبل تثبيته.
لاستخدام واجهات برمجة التطبيقات التي تم طرحها في الإصدار 2.2 من Android في
تطبيقك، عليك ضبط القيمة المناسبة، "8"، في سمات
android:minSdkVersion للعنصر <uses-sdk>
في ملف بيان تطبيقك.
لمزيد من المعلومات حول كيفية استخدام مستوى واجهة برمجة التطبيقات، يُرجى الاطّلاع على مستند مستويات واجهة برمجة التطبيقات.
التغييرات في واجهة برمجة التطبيقات Framework API
تقدّم الأقسام أدناه معلومات عن التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات لإطار العمل المخصّص للتطبيقات والتي يوفّرها نظام التشغيل Android 2.2.
تثبيت التطبيقات على وسائط التخزين الخارجية
يسمح نظام Android الآن للتطبيقات بطلب التثبيت على وسائط التخزين الخارجية للجهاز (مثل بطاقة SD)، كبديل عن التثبيت على الذاكرة الداخلية للجهاز.
يمكن لمطوّري التطبيقات تحديد موقع التثبيت المفضّل
لتطبيقاتهم باستخدام سمة جديدة من <manifest>
في ملف البيان، وهي
android:installLocation. تتيح السمة ثلاث قيم:
"internalOnly" و"preferExternal" و
"auto". في وقت التثبيت، يتحقّق النظام من قيمة
android:installLocation ويثبّت التطبيق
.apk وفقًا للموقع الجغرافي المفضّل، إن أمكن. إذا طلب
التطبيق التثبيت الخارجي، يُثبِّته النظام في
قسم خاص ومشفَّر في الوسائط الخارجية. بعد تثبيت تطبيق .apk خارجيًا، يتيح النظام للمستخدم تغيير موقع تخزين ملف .apk ونقله إلى الذاكرة الداخلية للجهاز إذا لزم الأمر (والعكس صحيح)، وذلك من خلال ميزة "إدارة التطبيقات" في إعدادات المستخدم.
يُثبِّت النظام تلقائيًا جميع التطبيقات على ملفه الشخصي
الذاكرة الداخلية للجهاز، باستثناء التطبيقات التي تطلب صراحةً التثبيت الخارجي. ويعني ذلك أنّ النظام سيثبِّت التطبيقات القديمة دائمًا على ملف الذاكرة الداخلي، لأنّها لا يمكنها الوصول إلى سمة android:installLocation. ومع ذلك، من الممكن
ضبط تطبيق قديم وتجميعه بحيث يتم تثبيته داخليًا
على الإصدارات القديمة من النظام الأساسي وخارجيًا على أنظمة Android 2.2 والإصدارات الأحدث
، إذا لزم الأمر.
يُرجى العِلم أنّ طلب التثبيت على الوسائط الخارجية للجهاز ليس مناسبًا لجميع التطبيقات، لا سيما لأنّ الوسائط الخارجية قد تكون قابلة للإزالة وقد يؤدي إلغاء التثبيت/إعادة التثبيت إلى تعطيل تجربة المستخدم وإعدادات النظام.
لمزيد من المعلومات عن ضبط موقع التثبيت المفضّل لتطبيقك، بما في ذلك مناقشة أنواع التطبيقات التي يجب أن تطلب تثبيتًا خارجيًا وتلك التي يجب ألّا تطلب ذلك، يُرجى الاطّلاع على مستند موقع تثبيت التطبيق.
الغرض هو الاحتفاظ بنسخة احتياطية من البيانات.
توفّر المنصة الآن خدمة احتياطية عامة يمكن للتطبيقات استخدامها للاحتفاظ بنسخة احتياطية من بيانات المستخدم واستعادتها، لضمان تمكّن المستخدمين من الحفاظ على بياناتهم عند تبديل الأجهزة أو إعادة تثبيت التطبيق. يعالج "مدير الاحتفاظ بنسخة احتياطية" عملية نقل بيانات التطبيقات من مساحة التخزين الاحتياطية في السحابة الإلكترونية وإليها. يمكن لتطبيق "مدير النسخة الاحتياطية" تخزين أي نوع من البيانات، بدءًا من البيانات العشوائية ووصولاً إلى الملفات، كما يدير عمليات النسخ الاحتياطي والاستعادة بطريقة موحّدة. لمزيد من المعلومات، يُرجى الاطّلاع على الاحتفاظ بنسخة احتياطية من البيانات.
الرسومات
- واجهات برمجة تطبيقات OpenGL ES 2.0 الجديدة في
android.opengl.GLES20 - فئات
ETC1وETC1UtilوETC1Util.ETC1Textureوطرق مساعدة جديدة لاستخدام ETC1 في ضغط النسيج - فئة
ImageFormatجديدة. -
YUV image format APIجديدة لتفعيل ضغط الفيديو من YUV إلى JPEG ومعالجة بيانات YUV
الوسائط
- واجهات برمجة تطبيقات جديدة في
android.media.AudioManagerلإدارة تركيز الصوت والتحكّم في النقل وفقدان التركيز المؤقت في الصوت وخفض مستوى الصوت - نية البث الجديدة لتوجيه الصوت إلى SCO —
ACTION_SCO_AUDIO_STATE_CHANGEDمع إضافات تشير إلى الحالة الجديدة - واجهات برمجة تطبيقات جديدة في
SoundPoolلرصد اكتمال تحميل الصوت - واجهات برمجة تطبيقات جديدة في
SoundPoolلإيقاف الفيديو مؤقتًا واستئنافه تلقائيًا - واجهات برمجة تطبيقات جديدة في
MediaRecorderلتحديد إعدادات الصوت لعدد القنوات ومعدّلات التشفير ومعدلات أخذ العينات - واجهات برمجة تطبيقات جديدة لإضافة ملفات إلى قاعدة بيانات الوسائط، وذلك كي يتم فحصها تلقائيًا يُرجى الاطّلاع على
MediaScannerConnection.scanFileوMediaScannerConnection.OnScanCompletedListener.
ميزة "التعرّف على الكلام" ومحرّكات التعرّف التابعة لجهات خارجية
- توفّر المنصة واجهات برمجة تطبيقات جديدة للتعرّف على الكلام تتيح للتطبيقات إجراء تفاعل أكثر شمولاً مع ميزة التعرّف على الصوت المتاحة. على سبيل المثال، تكون واجهات برمجة التطبيقات كافية لدمج ميزة التعرّف على الصوت بشكلٍ عميق في واجهة كتابة ذكية.
- توفّر المنصة أيضًا فئة
RecognitionServiceأساسية تتيح للمطوّرين الخارجيين إنشاء محرّكات التعرّف على المكونات الإضافية. - واجهة
RecognitionListenerجديدة لتلقّي المكالمات المُعاد توجيهها - إضافات
RecognizerIntentجديدة تتيح للتطبيق المُرسِل تحديد التفاصيل مثل اللغة المفضّلة والحدّ الأدنى للمدة بالملي ثانية وما إلى ذلك
الكاميرا وكاميرا الفيديو
- تغييرات على واجهة برمجة التطبيقات لمعاينة الكاميرا لتحسين كفاءة مسار معاينة الفيديو
- اتجاه عرض جديد للكاميرا (يمكنها الآن العمل في الوضع العمودي)
- واجهات برمجة تطبيقات جديدة في
android.hardware.Cameraلإدارة مستوى التكبير/التصغير - واجهات برمجة تطبيقات جديدة
android.hardware.Camera.Parametersلطلب وضبط إعدادات كاميرا الجهاز، مثل البعد البؤري ومستوى الإضاءة ومستوى التكبير وزاوية العرض وغيرها - أداة
thumbnailجديدة للصور المصغّرة للفيديوهات والصور - تتيح فئتَا
CamcorderProfileوCamcorderProfileالجديدتان للتطبيقات تحديد إمكانات كاميرا جهازك. - ميزة جديدة في
android.media.ExifInterfaceلاسترداد بيانات نظام تحديد المواقع العالمي (GPS) وطول البؤرة
مدير سياسات الجهاز
تتيح واجهات برمجة التطبيقات الجديدة لإدارة سياسات الجهاز للمطوّرين كتابة تطبيقات "مدير
الجهاز" التي يمكنها التحكّم في ميزات أمان الجهاز،
مثل الحد الأدنى لقوة كلمة المرور ومسح البيانات وما إلى ذلك. يمكن للمستخدمين اختيار
المشرفين الذين تم تفعيلهم على أجهزتهم. لمزيد من المعلومات، اطّلِع على android.app.admin أو مثال رمز التطبيق في DeviceAdminSample.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>قيمة منطقية تحدِّد ما إذا كان سيتم إيقاف تحسينات برنامج التجميع أثناء التنفيذ عند تشغيل التطبيق.
- سمة
الأذونات
-
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 من واجهة برمجة التطبيقات)، يُرجى الاطّلاع على تقرير اختلافات واجهة برمجة التطبيقات.