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

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

إصدار Android 2.3.3 (GINGERBREAD_MR1) هو إصدار صغير من الميزات يضيف العديد من التحسينات وواجهات برمجة التطبيقات إلى نظام Android 2.3 الأساسي.

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

نظرة عامة على واجهة برمجة التطبيقات

تقدم الأقسام أدناه نظرة عامة فنية على الميزات الجديدة للمطوّرين في الإصدار 2.3.3، بما في ذلك الميزات والتغييرات الجديدة التي طرأت على إطار العمل لواجهة برمجة التطبيقات منذ الإصدار السابق.

الاتصال القصير المدى (NFC)

يوفر الإصدار 2.3.3 من نظام التشغيل Android دعمًا محسّنًا وموسعًا للتقنية NFC، وذلك للسماح للتطبيقات بالتفاعل مع المزيد من أنواع العلامات بطرق جديدة.

توفّر مجموعة واجهات برمجة التطبيقات الجديدة والشاملة للتطبيقات إمكانية الوصول للقراءة والكتابة إلى مجموعة أوسع من تقنيات العلامات العادية، بما في ذلك:

  • NFC-A (ISO 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (ISO 15693)
  • ISO-DEP (ISO 14443-4)
  • فيلم MIFARE الكلاسيكي
  • جائزة MIFARE Ultralight
  • علامات NDEF لمنتدى NFC

توفر المنصة أيضًا بروتوكول اتصال نظير إلى نظير وواجهة برمجة تطبيقات محدودة. يمكن للأنشطة الأمامية استخدام واجهة برمجة التطبيقات لتسجيل رسالة NDEF التي سيتم إرسالها إلى أجهزة NFC أخرى عند اتصالها.

إنّ الإرسال المتقدّم للعلامات يمنح التطبيقات الآن إمكانية تحكم أكبر في طريقة ووقت تشغيلها، عند اكتشاف علامة NFC. في السابق، كان النظام الأساسي يستخدم إرسال الغرض من خطوة واحدة لإشعار التطبيقات المهتمة باكتشاف علامة. تستخدم المنصة الآن عملية من أربع خطوات تسمح للتطبيق الذي يعمل في المقدّمة بالتحكّم في حدث العلامة قبل تمريره إلى أي تطبيقات أخرى (android.nfc.NfcAdapter.enableForegroundDispatch()). تتيح عملية الإرسال الجديدة أيضًا للتطبيقات إمكانية رصد محتوى علامات معيّن وتقنيات وضع العلامات، استنادًا إلى إجراءَين جديدَين حسب النية بالشراء، ألا وهما android.nfc.action.NDEF_DISCOVERED و android.nfc.action.TECH_DISCOVERED.

تتوفّر NFC API في حِزمتَي android.nfc وandroid.nfc.tech. الفئات الرئيسية هي:

  • NfcAdapter، الذي يمثّل جهاز NFC على الجهاز.
  • NdefMessage، التي تمثل رسالة بيانات NDEF، وهي التنسيق القياسي الذي يتم فيه نقل "السجلات" التي تحمل البيانات بين الأجهزة والعلامات. رسالة NDEF محددة والعديد من سجلات NDEF من أنواع مختلفة. يمكن أن تتلقّى التطبيقات هذه الرسائل من NDEF_DISCOVERED أو TECH_DISCOVERED أو TAG_DISCOVERED Intent.
  • NdefRecord، يتم تسليمها في NdefMessage، وتصف نوع البيانات التي تتم مشاركتها وتنقل البيانات نفسها.
  • Tag، التي تمثل علامة تم فحصها بواسطة الجهاز. يمكن استخدام أنواع متعددة من العلامات، استنادًا إلى تقنية العلامات الأساسية.
  • TagTechnology، وهي واجهة تتيح للتطبيقات إمكانية الوصول إلى خصائص العلامات وعمليات وحدات الإدخال والإخراج استنادًا إلى التكنولوجيات المتوفّرة في العلامة. للحصول على قائمة كاملة بتقنيات العلامات المتوافقة مع الإصدار 2.3.3 من Android، يُرجى مراجعة android.nfc.tech.

يعتمد اتصال NFC على التكنولوجيا اللاسلكية في مكونات الجهاز، وهو غير متوفر في جميع أجهزة Android. ستعرض أجهزة Android التي لا تتيح تقنية NFC عنصرًا فارغًا عند استدعاء getDefaultAdapter(Context)، وستعرض context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC) false. ومع ذلك، تتوفّر واجهة برمجة تطبيقات NFC دائمًا بغض النظر عن الدعم الأساسي للأجهزة.

لاستخدام NFC API، يجب أن تطلب التطبيقات إذنًا من المستخدم من خلال الإعلان عن <uses-permission android:name="android.permission.NFC"> في ملفات البيان.

بالإضافة إلى ذلك، يمكن للمطوّرين طلب إجراء فلترة على Google Play، بحيث لا تكون تطبيقاتهم قابلة للاكتشاف من قِبل المستخدمين الذين لا تتيح أجهزتهم الاتصال القصير المدى (NFC). لطلب الفلترة، يُرجى إضافة <uses-feature android:name="android.hardware.nfc" android:required="true"> إلى بيان التطبيق.

للحصول على مزيد من المعلومات، يُرجى قراءة دليل المطوّر حول الاتصال القصير المدى (NFC).

البلوتوث

يضيف Android 2.3.3 دعمًا للنظام الأساسي وواجهة برمجة التطبيقات لاتصالات المقبس غير الآمن عبر البلوتوث. يتيح هذا للتطبيقات التواصل مع الأجهزة البسيطة التي قد لا توفر واجهة مستخدم للمصادقة. يمكنك الاطّلاع على createInsecureRfcommSocketToServiceRecord(java.util.UUID) و listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID) للحصول على مزيد من المعلومات.

الرسومات

  • تسمح فئة BitmapRegionDecoder الجديدة للتطبيقات بفك ترميز منطقة المستطيل من صورة. تكون واجهة برمجة التطبيقات مفيدة بشكل خاص عندما تكون الصورة الأصلية كبيرة ويحتاج التطبيق فقط إلى أجزاء من الصورة.
  • يسمح حقل inPreferQualityOverSpeed الجديد في BitmapFactory.Options للتطبيقات باستخدام طريقة IDCT أكثر دقة ولكنها أبطأ قليلاً في فك ترميز JPEG. وهذا بدوره يحسن جودة الصورة المُعاد إنشاؤها.

إطار عمل الوسائط

  • توفر فئة MediaMetadataRetriever الجديدة واجهة موحدة لاسترداد الإطار والبيانات الوصفية من ملف وسائط الإدخال.
  • MediaRecorder.AudioEncoder وMediaRecorder.OutputFormat يتضمنان حقولاً جديدة لتحديد تنسيقَي النطاق الواسع لـ AMR والترميز المتقدّم للصوت.

التعرّف على الكلام

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

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

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

لاستخدام واجهات برمجة التطبيقات المقدمة في Android 2.3.3 ضمن تطبيقك، يجب تجميع التطبيق في مكتبة Android المتوفرة في نظام SDK الأساسي Android 2.3.3. حسب احتياجاتك، قد تحتاج أيضًا إلى إضافة السمة android:minSdkVersion="10" إلى العنصر <uses-sdk> في بيان التطبيق. إذا تم تصميم تطبيقك ليعمل على الإصدار 2.3 من نظام Android والإصدارات الأحدث فقط، فإن الإعلان عن السمة يمنع تثبيت التطبيق على الإصدارات السابقة من النظام الأساسي.

لمزيد من المعلومات، يُرجى الاطِّلاع على مقالة ما هو مستوى واجهة برمجة التطبيقات؟