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