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

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

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

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

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

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

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

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

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

  • NFC-A (المعيار الدولي 14443-3A)
  • NFC-B (ISO 14443-3B)
  • NFC-F (JIS 6319-4)
  • NFC-V (المعيار الدولي ISO 15693)
  • ‫ISO-DEP (ISO 14443-4)
  • MIFARE Classic
  • MIFARE Ultralight
  • علامات NFC Forum NDEF

توفّر المنصة أيضًا بروتوكول تواصل بين الأجهزة المتكافئة محدودًا وواجهة برمجة تطبيقات. يمكن للأنشطة التي تعمل في المقدّمة استخدام واجهة برمجة التطبيقات لتسجيل رسالة 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 بأنواع مختلفة. يمكن للتطبيقات تلقّي هذه الرسائل من رسائل Intent التي تتضمن NDEF_DISCOVERED أو TECH_DISCOVERED أو TAG_DISCOVERED.
  • 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. ويؤدي ذلك بدوره إلى تحسين جودة الصورة التي تمّت إعادة إنشائها.

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

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

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

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

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

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

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