الإصدار الجديد: SDK Android 2.2، API 8، NDK r4...

على الرغم من أن مؤتمر Google I/O لم ينته بعد، فقد قامت Google للتو بتحديث الموقع المخصص لتطوير Android.

Android 2.2 SDK الجديد (مجموعة التطوير)، مع العديد من الميزات الجديدة لإطار عمل API. بما في ذلك على سبيل المثال OpenGL ES 2.0 APIs ونظام النسخ الاحتياطي لبيانات التطبيق،

قائمة الميزات الجديدة تتبع المقال.

ولكن أيضًا NDK r4 المبسط، وهو نظام تصحيح الأخطاء...انظر الموقع الرسمي.

النسخ الاحتياطي للبيانات

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

الرسومات

وسائط

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

التعرف على الكلام ومحركات التعرف على الطرف الثالث

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

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

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

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

تسمح واجهات برمجة التطبيقات الجديدة لإدارة سياسة الجهاز للمطورين بكتابة تطبيقات «مسؤول الجهاز» التي يمكنها التحكم في ميزات أمان الجهاز، مثل الحد الأدنى من قوة كلمة المرور، ومسح البيانات، وما إلى ذلك. يمكن للمستخدمين تحديد المسؤولين الذين تم تمكينهم على أجهزتهم. لمزيد من المعلومات، راجعandroid.app.adminclassees أو رمز التطبيق المثال فيDeviceAdminSample.java.

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

  • أوضاع واجهة المستخدم الجديدة «وضع السيارة» و«الوضع الليلي» وUiModeManagerالسماح للتطبيقات بضبط واجهة مستخدم التطبيق الخاصة بها لأوضاع مستخدم محددة.
  • جديدScaleGestureDetectorيتيح لعروض العرض اكتشاف إيماءات التحويل التي تتضمن أكثر من مؤشر (اللمس المتعدد) والتعامل معها باستخدام MotionEvents المتوفرة.
  • تحسينات في طريقة الإبلاغ عن أحداث اللمس المتعددMotionEventأشياء.
  • سمة التخطيطfill_parentتتم إعادة تسميته إلىmatch_parent. يؤثر هذا على كل من كود XML وJava (انظرViewGroup.LayoutParams). لاحظ أن النظام الأساسي سيستمر في احترام استخداماتfill_parentفي التطبيقات التراثية
  • سمات التخطيط الجديدةtabStripEnabled,tabStripRight، وtabStripLeftاسمح للمطورين بتخصيص الشريط السفلي من TabWidgets.
  • دعم أفضل لمربعات الحوار المُدارة في النشاط.

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

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

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

  • لتحديد موقع التثبيت المفضل للتطبيق (انظرتثبيت التطبيق على وسائط التخزين الخارجية، فوق):
    • جديدandroid:installLocationسمة منعنصر. يحدد موقع التثبيت الافتراضي الذي يحدده التطبيق.
  • جديدandroid:installLocationسمة منعنصر. يحدد موقع التثبيت الافتراضي الذي يحدده التطبيق.
  • لإدارة النسخ الاحتياطي لبيانات المستخدم (انظرمدير النسخ الاحتياطي، أعلاه لمزيد من المعلومات):
    • جديدandroid:backupAgentسمة منعنصر. يحدد اسم مكون الفئة الفرعية BackupAgent التي يوفرها التطبيق للتعامل مع عمليات النسخ الاحتياطي/الاستعادة، إن وجدت.
    • جديدandroid:restoreAnyVersionسمة منعنصر. قيمة منطقية تشير إلى ما إذا كان التطبيق مستعدًا لمحاولة استعادة أي مجموعة بيانات تم نسخها احتياطيًا، حتى لو كانت النسخة الاحتياطية على ما يبدو من إصدار أحدث من التطبيق غير المثبت حاليًا على الجهاز.
  • جديدandroid:backupAgentسمة منعنصر. يحدد اسم مكون الفئة الفرعية BackupAgent التي يوفرها التطبيق للتعامل مع عمليات النسخ الاحتياطي/الاستعادة، إن وجدت.
  • جديدandroid:restoreAnyVersionسمة منعنصر. قيمة منطقية تشير إلى ما إذا كان التطبيق مستعدًا لمحاولة استعادة أي مجموعة بيانات تم نسخها احتياطيًا، حتى لو كانت النسخة الاحتياطية على ما يبدو من إصدار أحدث من التطبيق غير المثبت حاليًا على الجهاز.
  • لإدارة مترجم JIT الخاص بالمنصة:
    • جديدandroid:vmSafeModeسمة منعنصر. قيمة منطقية تحدد ما إذا كان سيتم تعطيل تحسينات برنامج التحويل البرمجي JIT عند تشغيل التطبيق.
  • جديدandroid:vmSafeModeسمة منعنصر. قيمة منطقية تحدد ما إذا كان سيتم تعطيل تحسينات برنامج التحويل البرمجي 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)، راجعتقرير اختلافات واجهة برمجة التطبيقات.

شهادة الإيداع الدولية:

ملاحظات عامة:
  • يوفر نظام بناء مبسط من خلال الجديدndk-buildبناء الأمر.
  • يضيف دعمًا لتصحيح الأخطاء الأصلي السهل لرمز الجهاز الذي تم إنشاؤه على أجهزة الإنتاج من خلال الإصدار الجديدndk-gdbيأمر.
  • إضافة واجهة برمجة تطبيقات جديدة خاصة بنظام Android لبنيات وحدة المعالجة المركزية المستندة إلى ARM،armeabi-v7a. يعمل ABI الجديد على توسيع الموجودarmeabiABI لتضمين ملحقات مجموعة تعليمات وحدة المعالجة المركزية هذه:
    • تعليمات الإبهام-2
    • تعليمات FPU لأجهزة VFP (VFPv3-D16)
    • دعم اختياري لمكونات دول مجلس التعاون الخليجي ARM Advanced SIMD (NEON) وVFPv3-D32. مدعوم من أجهزة مثل Verizon Droid من Motorola وGoogle Nexus One وغيرها.
  • يضيف جديداcpufeaturesمكتبة ثابتة (مع مصادر) تتيح لتطبيقك اكتشاف ميزات وحدة المعالجة المركزية للجهاز المضيف في وقت التشغيل. على وجه التحديد، يمكن للتطبيقات التحقق من دعم ARMv7-A، بالإضافة إلى دعم VFPv3-D32 وNEON، ثم توفير مسارات تعليمات برمجية منفصلة حسب الحاجة.
  • يضيف تطبيق عينة،hello-neon، والذي يوضح كيفية استخدامcpufeaturesمكتبة للتحقق من ميزات وحدة المعالجة المركزية ثم توفير مسار تعليمات برمجية محسّن باستخدام إضافات NEON، إذا كانت مدعومة من وحدة المعالجة المركزية.
  • يتيح لك إنشاء رمز الجهاز لأي من مجموعات التعليمات المدعومة بواسطة NDK أو كليهما. على سبيل المثال، يمكنك إنشاء بنيات ARMv5 وARMv7-A في نفس الوقت وتخزين كل شيء في النسخة النهائية لتطبيقك..apk.
  • للتأكد من أن تطبيقاتك متاحة للمستخدمين فقط إذا كانت أجهزتهم قادرة على تشغيلها، يقوم Android Market الآن بتصفية التطبيقات بناءً على معلومات مجموعة التعليمات المضمنة في تطبيقك - لا يلزم اتخاذ أي إجراء من جانبك لتمكين التصفية. بالإضافة إلى ذلك، يقوم نظام Android نفسه أيضًا بفحص تطبيقك في وقت التثبيت ويسمح بمواصلة التثبيت فقط إذا كان التطبيق يوفر مكتبة تم تجميعها لبنية وحدة المعالجة المركزية للجهاز.
  • إضافة دعم لنظام التشغيل Android 2.2، بما في ذلك واجهة برمجة التطبيقات (API) الجديدة والمستقرة للوصول إلى مخازن البكسل المؤقتة الخاصة بـBitmapكائنات من التعليمات البرمجية الأصلية.