مستوى واجهة برمجة التطبيقات: 9
يتوفّر نظام التشغيل Android 2.3
(GINGERBREAD
) للمطوّرين كمكوّن
قابل للتنزيل لحزمة تطوير البرامج (SDK) لنظام التشغيل Android. تتضمّن المنصة القابلة للتنزيل
مكتبة Android وصورة نظام، بالإضافة إلى مجموعة من أشكال المحاكي وغيرها. للبدء في تطوير التطبيقات أو اختبارها على نظام التشغيل Android 2.3،
استخدِم "مدير حزمة تطوير البرامج (SDK) لنظام التشغيل Android" لتنزيل النظام الأساسي في حزمة SDK.
نظرة عامة على واجهة برمجة التطبيقات
تقدِّم الأقسام أدناه نظرة عامة فنية حول الميزات الجديدة للمطوّرين. في الإصدار 2.3، بما في ذلك الميزات والتغييرات الجديدة في إطار العمل واجهة برمجة التطبيقات منذ الإصدار السابق.
بروتوكول الصوت على الإنترنت (VoIP) من خلال SIP
تشمل المنصة الآن حزمة بروتوكول SIP وواجهة برمجة تطبيقات لإطار العمل تتيحان ينشئ المطورون تطبيقات للاتصال الهاتفي عبر الإنترنت. باستخدام واجهة برمجة التطبيقات، يمكن للتطبيقات توفير ميزات الاتصال الصوتي بدون الحاجة إلى إدارة الجلسات أو التواصل على مستوى النقل أو الصوت، إذ يتم التعامل مع هذه الميزات بشكل شفاف من خلال واجهة برمجة التطبيقات وخدمات SIP الخاصة بالنظام الأساسي.
تتوفّر واجهة برمجة التطبيقات SIP في android.net.sip
طرد. فئة المفتاح هي SipManager
، والتي تستخدمها التطبيقات
لإعداد ملفات SIP الشخصية وإدارتها، ثم بدء مكالمات صوتية وتلقّي مكالمات
صوتية. بعد بدء مكالمة صوتية، يمكن للتطبيقات كتم صوت المكالمات،
وتفعيل وضع مكبّر الصوت، وإرسال نغمات DTMF، وغير ذلك. يمكن للتطبيقات أيضًا استخدام
SipManager
لإنشاء اتصالات SIP عامة.
تتوفّر حزمة SIP الأساسية للمنصة والخدمات على الأجهزة في
وفقًا لتقدير الشركة المصنّعة ومشغّل شبكة الجوّال المرتبط بها لهذا السبب، يجب أن تستخدم التطبيقات isApiSupported()
للتحقّق ممّا إذا كان دعم بروتوكول SIP متاحًا، قبل منح المستخدمين إمكانية استخدام وظيفة الاتصال.
لاستخدام واجهة برمجة التطبيقات SIP API، يجب أن تطلب التطبيقات إذنًا من المستخدم من خلال
تقديم بيان عن <uses-permission
android:name="android.permission.INTERNET">
و<uses-permission
android:name="android.permission.USE_SIP">
في ملفات البيان.
بالإضافة إلى ذلك، يمكن للمطوّرين طلب الفلترة على Google Play، بحيث
لا يمكن اكتشاف تطبيقاتهم للمستخدمين الذين لا تتضمّن أجهزتهم
حِزم SIP وخدمات المنصة. لطلب الفلترة، أضِف <uses-feature
android:name="android.software.sip"
android:required="true">
و<uses-feature
android:name="android.software.sip.voip">
إلى بيان التطبيق.
لمزيد من المعلومات، يُرجى الاطّلاع على دليل المطوّر SIP.
الاتصال القصير المدى (NFC)
يتضمّن Android 2.3 حزمة NFC وواجهة برمجة تطبيقات لإطار العمل تتيح للمطوّرين. قراءة علامات NDEF التي يتم رصدها عندما يلمس المستخدم جهازًا متوافقًا مع تقنية NFC للإشارة إلى العناصر المضمّنة في الملصقات والملصقات الذكية وحتى في الأجهزة الأخرى.
توفّر المنصة خدمات NFC الأساسية التي تعمل مع الجهاز الأجهزة لاكتشاف العلامات عندما تدخل في النطاق. عند اكتشاف إحدى العلامات، تُبلِغ منصة التطبيقات التطبيقات عن طريق بث Intent، مع إلحاق رسائل NDEF إلى Intent كعناصر إضافية يمكن للتطبيقات إنشاء فلاتر الأهداف بهدف التعرّف على العلامات والرسائل المستهدَفة ومعالجتها. على سبيل المثال، بعد تلقّي علامة بواسطة Intent، تستخرج التطبيقات رسائل NDEF أو تخزّنها أو تنبه العميل أو تتعامل معها بطرق أخرى.
تتوفّر واجهة برمجة التطبيقات NFC في حزمة android.nfc
. الفئات الرئيسية هي:
NfcAdapter
، الذي يمثّل جهاز NFC على الجهازNdefMessage
، الذي يمثل رسالة بيانات NDEF، بالتنسيق القياسي الذي "تسجل" حمل البيانات التي يتم نقلها بين والأجهزة والعلامات. يمكن للتطبيقات تلقّي هذه الرسائل منACTION_TAG_DISCOVERED
Intents.NdefRecord
، ويتم تسليمها في ملفNdefMessage
، الذي يصف نوع البيانات التي تتم مشاركتها ويحمل البيانات نفسها.
تعتمد اتصالات NFC على التكنولوجيا اللاسلكية في أجهزة الأجهزة، لذلك تحدد
الشركات المصنّعة إمكانية استخدام ميزات NFC في النظام الأساسي على أجهزة معيّنة. لتحديد مدى توفّر NFC على الجهاز الحالي،
يمكن للتطبيقات استدعاء isEnabled()
الاستعلام عن NfcAdapter
. تتوفر واجهة برمجة التطبيقات NFC API دائمًا،
ومع ذلك، بغض النظر عن دعم الأجهزة الأساسية.
لاستخدام واجهة برمجة التطبيقات NFC، يجب أن تطلب التطبيقات إذنًا من المستخدم عن طريق
تعريف <uses-permission
android:name="android.permission.NFC">
في ملفات البيان.
بالإضافة إلى ذلك، يمكن للمطوّرين طلب الفلترة على Google Play، مثل
لا تكون تطبيقاتهم قابلة للاكتشاف من قِبل المستخدمين الذين لا تدعم أجهزتهم
NFC لطلب الفلترة، أضِف
<uses-feature android:name="android.hardware.nfc"
android:required="true">
إلى بيان التطبيق.
للاطّلاع على نموذج تطبيق يستخدم NFC API، يُرجى الاطّلاع على NFCDemo:
الجيروسكوب وأدوات الاستشعار الأخرى
يتيح Android 2.3 دعم النظام الأساسي وواجهة برمجة التطبيقات للعديد من أدوات الاستشعار الجديدة. الأنواع — الجيروسكوب، ومتّجه الدوران، والتسارع الخطي، والجاذبية، ومقياس الضغط الجوي. يمكن للمطوّرين استخدام قراءات أداة الاستشعار الجديدة لإنشاء تطبيقات تستجيب. التغييرات الدقيقة في موضع الجهاز وحركته بسرعة وسلاسة تشير رسالة الأشكال البيانية تعرض واجهة برمجة التطبيقات لأجهزة الاستشعار تغييرات الجيروسكوب وغيرها من التغييرات على أداة الاستشعار التطبيقات، سواء كانت تعمل في إطار عمل التطبيق أو في الرمز.
يُرجى العلم أنّ المجموعة المحدّدة من أدوات استشعار الأجهزة المتاحة على أي جهاز معيّن تختلف حسب تقدير الشركة المصنّعة للجهاز.
يمكن للمطوّرين طلب الفلترة على Google Play، بحيث لا يمكن العثور على
تطبيقاتهم من قِبل المستخدمين الذين لا تتضمّن أجهزتهم
أداة استشعار جيروسكوب. ولإجراء ذلك، عليك إضافة <uses-feature
android:name="android.hardware.sensor.gyroscope"
android:required="true">
إلى بيان التطبيق.
لمعرفة تفاصيل واجهة برمجة التطبيقات، يمكنك الاطّلاع على Sensor
.
إتاحة استخدام كاميرات متعددة
يمكن للتطبيقات الآن الاستفادة من أي كاميرات متوفرة على الجهاز،
لالتقاط صورة أو فيديو. يتيح لك Camera
التطبيقات عن عدد الكاميرات المتوفرة
وخصائص كل منها.
- تخزِّن فئة
Camera.CameraInfo
الجديدة خصائص كاميرا الوضعية (الاتجاه، الأمامية أو الخلفية). - تسمح طريقة
getNumberOfCameras()
وgetCameraInfo()
الجديدة في الفئةCamera
للتطبيقات بالاستعلام عن الكاميرات المتاحة. وفتح الكاميرا التي يحتاج إليها. - تتيح طريقة
get()
الجديدة تسترد التطبيقاتCamcorderProfile
لكاميرا معيّنة. - يتيح
getJpegEncodingQualityParameter()
الجديد للتطبيقات الحصول على مستوى جودة التقاط الصور الثابتة لكاميرا معيّنة.
للاطّلاع على رمز نموذجي للوصول إلى كاميرا أمامية، يمكنك الانتقال إلى cameraPreview.java. في نموذج تطبيق ApiDemos.
تضيف واجهة برمجة التطبيقات Camera API أيضًا ما يلي:
- يتضمّن هذا الإعداد معلَمات جديدة للكاميرات، مثل البعد البؤري ووضع التركيز
الحد الأقصى/الحد الأدنى لمعاينة عدد اللقطات في الثانية
getFocusDistances()
وgetPreviewFpsRange()
وgetSupportedPreviewFpsRange()
الجديدة للحصول على مَعلمات الكاميرا، بالإضافة إلىsetPreviewFpsRange()
لضبط معدّل عرض اللقطات في المعاينة
تأثيرات صوتية قابلة للمزج
ويتيح إطار عمل الوسائط في المنصة استخدام مؤثرات صوتية جديدة أو عالمية جديدة لكل مقطع صوتي بما في ذلك تعزيز الصوت العميق والخفيض والمحاكاة الافتراضية لسماعات الرأس ومعادلة الصوت والصدى.
- توفّر حزمة
android.media.audiofx
الجديدة واجهة برمجة التطبيقات للوصول إلى التأثيرات الصوتية. - "
AudioEffect
" الجديدة هي الفئة الأساسية. للتحكّم في التأثيرات الصوتية التي يوفّرها إطار العمل الصوتي على Android. - معرّف جلسة صوتية جديد يسمح لتطبيق بربط مجموعة من المقاطع الصوتية
التأثيرات التي لها مثيل
AudioTrack
أوMediaPlayer
. - دالة إنشاء جديدة لفئة
AudioTrack
تتيح لك إنشاءAudioTrack
بمعرّف جلسة محدّد. طرق جديدة لـattachAuxEffect()
وgetAudioSessionId()
وsetAuxEffectSendLevel()
- جديد
attachAuxEffect()
وgetAudioSessionId()
وsetAudioSessionId(int)
وsetAuxEffectSendLevel()
والطرق وأنواع الدعم.
للاطّلاع على نموذج رمز لتأثيرات الصوت، يمكنك الاطّلاع على ملف AudioFxDemo.java في نموذج تطبيق ApiDemos.
يضيف إطار العمل الإعلامي أيضًا ما يلي:
- إتاحة جديدة لعلامة الارتفاع في البيانات الوصفية لملف EXIF لملفات JPEG طريقة جديدة
طريقة واحدة (
getAltitude()
) من أجل لاسترداد قيمة علامة الارتفاع EXIF. - تتيح طريقة
setOrientationHint()
الجديدة للتطبيق إبلاغMediaRecorder
بالاتجاه أثناء تسجيل الفيديو.
مدير التنزيل
تتضمّن المنصة خدمة نظام DownloadManager
جديدة
تعالج عمليات تنزيل HTTP التي تستغرق وقتًا طويلاً. يمكن للتطبيقات طلب تنزيل عنوان URI
إلى ملف وجهة معيّن. DownloadManager
سيجري التنزيل في الخلفية مع الاهتمام بتفاعلات HTTP
وإعادة محاولة التنزيل بعد حدوث إخفاق أو عند حدوث تغييرات في الاتصال ونظام
عمليات إعادة التشغيل.
- يمكن للتطبيقات الحصول على مثيل من
DownloadManager
الصف من خلال الاتصال بـgetSystemService(String)
واجتيازDOWNLOAD_SERVICE
التطبيقات التي تطلب التي يتم تنزيلها من خلال واجهة برمجة التطبيقات هذه لتسجيل جهاز استقبال البث فيACTION_NOTIFICATION_CLICKED
. الاسم المعرِّف عندما ينقر المستخدم على تنزيل قيد التشغيل في إشعار أو من واجهة المستخدم لعمليات التنزيل - تسمح فئة
DownloadManager.Request
لتطبيقك بتقديم كل المعلومات اللازمة لطلب تنزيل جديد، مثل معرّف الموارد المنتظم (URI) للطلب ووجهة التنزيل. عنوان URI للطلب هو الوحيد المطلوب . لاحظ أن وجهة التنزيل الافتراضية هي حجم مشترك حيث يمكن للنظام حذف ملفك إذا احتاج إلى استرداد مساحة لاستخدام النظام. لتخزين ملف تم تنزيله بشكل دائم، حدِّد وجهة تنزيل على ملف تخزين خارجي (راجِعsetDestinationUri(Uri)
). - توفّر فئة
DownloadManager.Query
طرقًا تسمح للتطبيق بطلب عمليات التنزيل النشطة وفلترته.
StrictMode
لمساعدة المطوّرين على مراقبة أداء تطبيقاتهم وتحسينه،
توفّر هذه المنصة مرفقًا جديدًا للنظام يسمى StrictMode
.
عند تنفيذ StrictMode في أحد التطبيقات، يرصد الإطار الزمني الصارم ويُعلم المطوّر بنشاط القرص أو الشبكة غير المقصود الذي قد يؤدي إلى خفض أداء التطبيق، مثل النشاط الذي يحدث في سلسلة المهام الرئيسية للتطبيق (حيث يتم تلقّي عمليات واجهة المستخدم وعرض الرسومات المتحركة أيضًا).
يمكن للمطوّرين تقييم مشاكل استخدام الشبكة والقرص التي تم رصدها في StrictMode
وإصلاحها إذا لزم الأمر، ما يحافظ على استجابة السلسلة الرئيسية بشكلٍ أفضل ويمنع عرض مربّعات حوار ANR للمستخدمين.
StrictMode
هي الفئة الأساسية ونقطة الدمج الرئيسية مع النظام والجهاز الظاهري. توفّر الفئة طرقًا سهلة ل إدارة سياسات المواضيع وأجهزة افتراضية التي تنطبق على المثيل.- تخضع
StrictMode.ThreadPolicy
وStrictMode.VmPolicy
للسياسات التي تحدّدها وتنطبق عليها. مثيلات الأجهزة الافتراضية (VM) وسلسلة المحادثات.
لمزيد من المعلومات عن كيفية استخدام StrictMode لتحسين
التطبيق، يُرجى الاطّلاع على مستندات الصف ورمز النموذج على الرابط android.os.StrictMode
.
إطار عمل واجهة المستخدم
- إتاحة الانتقال إلى أعلى الصفحة أو أسفلها
- إتاحة ميزة التمرير السريع للأسفل أو للأعلى في "العروض" و"تطبيقات المصغّرات" في "العروض"، يمكن للتطبيقات تفعيل/إيقاف التمرير السريع لعرض معيّن، وضبط وضع التمرير السريع، والتحكّم في مسافة التمرير السريع، ومعالجة نتائج التمرير السريع.
- في التطبيقات المصغّرة، يمكن للتطبيقات التحكّم في خصائص الانتقال السريع للأعلى أو للأسفل، مثل
الرسوم المتحركة والارتداد والمسافة التي يتم الانتقال خلالها للأعلى أو للأسفل. لمزيد من المعلومات، يُرجى الاطّلاع على
android.view.View
وandroid.widget.OverScroller
. - يوفّر
ViewConfiguration
أيضًا الطريقتَينgetScaledOverflingDistance()
وgetScaledOverscrollDistance()
. - سمات
overScrollMode
وoverScrollFooter
وoverScrollHeader
الجديدة لعناصر<ListView>
، للتحكّم في سلوك التمرير السريع
- إتاحة التصفية باللمس
- إتاحة جديدة لفلترة اللمس، ما يتيح للتطبيق تحسين أمان "العروض" التي تتيح الوصول إلى وظائف حسّاسة على سبيل المثال: فإن تصفية اللمس مناسبة لضمان أمان إجراءات المستخدم مثل منح طلب إذن، أو إجراء عملية شراء، أو النقر على الإعلان. لمعرفة التفاصيل، يُرجى الاطّلاع على عرض مستندات الفئة.
- سمة
filterTouchesWhenObscured
جديدة لعناصر العرض، التي تحدّد ما إذا كان سيتم فلترة اللمسات عندما يتم حجب نافذة العرض بواسطة نافذة مرئية أخرى وعند ضبط طريقة العرض على"true"
، لن يتم تلقي اللمسات كلما ظهر إشعار منبثق أو مربع حوار أو نافذة أخرى أعلى نافذة العرض. يُرجى الرجوع إلى عرض مستندات الأمان للاطّلاع على التفاصيل.
للاطّلاع على نموذج رمز لفلترة اللمس، اطّلِع على ملف برمجي SecureView.java في نموذج تطبيق ApiDemos.
- إدارة الأحداث المحسّنة
- فئة أساسية جديدة لأحداث الإدخال،
InputEvent
الفئة وتوفر طرقًا تتيح للتطبيقات تحديد معنى الحدث، مثل مثلاً من خلال الاستعلام عن جهاز EnterDevice الذي يتم تنظيم الحدث منه.KeyEvent
وMotionEvent
هما فئتان فرعيتان منInputEvent
- فئة أساسية جديدة لأجهزة الإدخال،
InputDevice
تشير رسالة الأشكال البيانية تُخزن الفئة معلومات حول قدرات جهاز إدخال معين توفر طرقًا تتيح للتطبيقات تحديد طريقة تفسير الأحداث من جهاز إدخال.
- فئة أساسية جديدة لأحداث الإدخال،
- أحداث الحركات المحسّنة
- تم توسيع واجهة برمجة تطبيقات
MotionEvent
لتشمل "معرّف المؤشر". تسمح للتطبيقات بتتبع الأصابع الفردية أثناء الانتقال لأعلى ولأسفل. تضيف الفئة مجموعة متنوعة من الطرق التي تتيح للتطبيق العمل بكفاءة مع أحداث الحركة. - يتضمّن نظام الإدخال الآن منطقًا لإنشاء أحداث الحركة باستخدام معلومات ملف تعريف المؤشر الجديد، مع تجميع المعرّفات عندما لا تكون مؤشرات جديدة نشطة. يتتبّع النظام أرقام تعريف مؤشرات متعددة بشكل منفصل أثناء حدث الحركة، ويضمن استمرارية مؤشرات بشكل صحيح من خلال تقييم المسافة بين المجموعة الأخيرة والمجموعة التالية من المؤشرات.
- تم توسيع واجهة برمجة تطبيقات
- عناصر التحكّم في اختيار النص
- تتيح طريقة
setComposingRegion
الجديدة للتطبيق وضع علامة على منطقة من النص كإنشاء النص، مع الحفاظ على النمط الحالي. حاسمة يؤديgetSelectedText
إلى إرجاع النص المحدد إلى التطبيق. تتوفّر هذه الطرق باللغاتBaseInputConnection
وInputConnection
وInputConnectionWrapper
. - جديد
textSelectHandle
،textSelectHandleLeft
،textSelectHandleRight
وtextSelectHandleWindowStyle
لـ<TextView>
، للإشارة إلى العناصر القابلة للرسم التي ستكون يُستخدم لعرض علامات ارتساء تحديد النص ونمط علامة الارتساء نافذة.
- تتيح طريقة
- عناصر التحكّم في النشاط
- تضيف
ActivityInfo
ثوابت جديدة لإدارة اتجاه النشاط:SCREEN_ORIENTATION_FULL_SENSOR
وSCREEN_ORIENTATION_REVERSE_LANDSCAPE
وSCREEN_ORIENTATION_REVERSE_PORTRAIT
وSCREEN_ORIENTATION_SENSOR_LANDSCAPE
و وSCREEN_ORIENTATION_SENSOR_PORTRAIT
. - قيمة ثابتة جديدة
IMPORTANCE_PERCEPTIBLE
لـ الحقلimportance
فيActivityManager.RunningAppProcessInfo
. تشير القيمة إلى أنّ عملية معيّنة تُشغّل عملية يُعتبَر أنّها ملحوظة للمستخدم بشكل نشط. على سبيل المثال، تطبيق يؤدي تشغيل الموسيقى في الخلفية. - يمكن استخدام طريقة Activity.setPersistent(boolean) لوضع علامة على تم إيقاف النشاط المستمر، ولا يمكن تنفيذه بدون عملية.
- تضيف
- أنماط نص الإشعارات ورموزها
- رمزان جديدان
TextAppearance.StatusBar.EventContent
وTextAppearance.StatusBar.EventContent.Title
وTextAppearance.StatusBar.Icon
وTextAppearance.StatusBar.Title
لإدارة أسلوب الإشعار
- رمزان جديدان
- تُضيف طرق OpenGL ES 2.0 المتبقية
glDrawElements()
وglVertexAttribPointer()
في فئةandroid.opengl.GLES20
. - إتاحة تنسيق
YV12
بكسل، وهو تنسيق مسطّح 4:2:0 YCrCb - فئة جديدة من مقدّمي الخدمة "
AlarmClock
" لضبط المنبّه أو التعامل مع تنبيه. يحتوي الموفِّر علىACTION_SET_ALARM
إجراء Intent وعناصر إضافية يمكن استخدامها لبدء نشاط لضبط تنبيه جديد في تطبيق ساعة تنبيه. التطبيقات التي ترغب في الحصول على يجب أن ينشئ نيةSET_ALARM
نشاطًا يتطلّب إذن SET_ALARM. يجب أن تستخدم التطبيقات التي تريد إنشاء ميزة إعلام بالدقيقة الرمزContext.startActivity()
، حتى يتمكّن المستخدم من اختيار تطبيق المنبّه الذي يريد استخدامه. - يتيح
MediaStore
إجراءً جديدًا للنوايا، وهوPLAY_FROM_SEARCH
، يتيح للتطبيق البحث عن وسائط موسيقية و تشغيل المحتوى تلقائيًا من النتيجة متى أمكن ذلك. على سبيل المثال، يمكن أن ينشط التطبيق Intent هذا كنتيجة لطلب التعرّف على الصوت الاستماع إلى الموسيقى. - تتم أيضًا إضافة علامة
MEDIA_IGNORE_FILENAME
جديدة من قِبل "MediaStore
" لإعلام الوسائط. ماسح ضوئي لتجاهل الوسائط في الدليل الذي يحتوي على الأدلة الفرعية. ويمكن لمطوّري البرامج استخدام هذا الخيار لتجنُّب ظهور رسومات في المعرض وبالمثل، سيتم منع ظهور أصوات التطبيق والموسيقى في قائمة تشغيل الموسيقى التطبيق. - يضيف موفِّر خدمة "
Settings
" إجراءات "النشاط" الجديدة.APPLICATION_DETAILS_SETTINGS
وMANAGE_ALL_APPLICATIONS_SETTINGS
، اللذان يسمحان للتطبيق بعرض التفاصيل الخاص بتطبيق معين أو عرض شاشة "إدارة التطبيقات". - يضيف مزوّد خدمة
ContactsContract
نوع البياناتContactsContract.CommonDataKinds.SipAddress
لأجل تخزين عنوان SIP (الاتصال عبر الإنترنت) الخاص بجهة الاتصال. - يتتبّع
LocationManager
الآن طلبات التطبيقات التي تؤدي إلى قفل تنشيط الشاشة أو قفل Wi-Fi وفقًا لمحاولةWorkSource
، وهي فئة تديرها النظام لتحديد التطبيق.يتتبّع "
LocationManager
" البيانات جميع العملاء الذين يطلبون تحديثات دورية، ويخبر مقدمي الخدمات بشأنها كمعلمةWorkSource
، عند تعيين الحد الأدنى أوقات التحديث. يستخدم مزوّد الموقع الجغرافي للشبكةWorkSource
لتتبُّع عمليات قفل التنشيط وWi-Fi التي بدأها أحد التطبيقات وإضافتها إلى واجهة تم الإبلاغ عن استخدام البطارية في "إدارة التطبيقات". - تضيف
LocationManager
عدة طرق جديدة تسمح لنشاط بالتسجيل لتلقّي إشعارات بشأن الموقع الجغرافي بشكل دوري أو لمرة واحدة استنادًا إلى معايير محدّدة (راجِع المعلومات أدناه). - تتيح فئة
Criteria
جديدة للتطبيق تحديد مجموعة من المعايير لاختيار موفر المواقع. على سبيل المثال، قد يتم ترتيب مقدّمي الخدمة حسب الدقة واستهلاك الطاقة والقدرة على الإبلاغ عن الارتفاع والسرعة والاتجاه والتكلفة المالية. - يضيف Android 2.3
StorageManager
جديدًا تتوافق مع ملفات OBB (Opaque Binary Blob). على الرغم من توفّر ملف OBB في الإصدار 2.3 من نظام التشغيل Android، لن تتوفّر أدوات التطوير لإنشاء ملفات OBB وإدارتها إلا في أوائل عام 2011. - يضيف نظام Android 2.3 الأساسي الدعم الرسمي للأجهزة التي لا تستخدم
بطاقات SD (على الرغم من أنها توفر قسمًا افتراضيًا لبطاقة SD، عندما لا يكون هناك
بطاقة SD). توفّر الطريقة
isExternalStorageRemovable()
للتطبيقات ميزة رائعة، وهي تحديد ما إذا كانت بطاقة SD متوفّرة. - ثوابت جديدة للإعلان عن ميزات الأجهزة والبرامج. اطّلِع على القائمة في قسم ثوابت الميزات الجديدة أدناه.
- تُضيف
PackageInfo
حقلَيfirstInstallTime
وlastUpdateTime
جديدَين لتخزين وقت تثبيت الحزمة وآخر تعديل لها. - طريقة
getProviderInfo()
جديدة لاسترداد جميع المعلومات المعروفة عن فئة معيّنة لمزوّدي المحتوى - تضيف
TelephonyManager
الثابتNETWORK_TYPE_EVDO_B
لتحديد نوع شبكة CDMA EVDO Rev B. - تُعيد الطريقة الجديدة
getPsc()
رمز التشويش الأساسي للخلية التي تُقدّم الخدمة على شبكة UMTS. NativeActivity
هو نوع جديد من فئة Activity، ويتم تنفيذ callbacks لدورة الحياة مباشرةً في الرمز الأصلي. يتم تشغيلNativeActivity
والرمز البرمجي الأصلي الأساسي له في النظام تمامًا كما هو الحال مع الأنشطة الأخرى، ويتم تشغيلهما على وجه التحديد في عملية نظام تطبيق Android وتنفيذهما في سلسلة تعليمات واجهة المستخدم الرئيسية للتطبيق، ويتلقّيان طلبات الاستدعاء نفسها المتعلّقة بمراحل النشاط كما هو الحال مع الأنشطة الأخرى.- تتيح فئة
InputQueue
وواجهة معاودة الاتصال الجديدة وإدارة الرموز البرمجية للأحداث في قائمة الانتظار. - تتيح واجهة
SurfaceHolder.Callback2
الجديدة استخدام الرموز البرمجية الأصلية إدارةSurfaceHolder
- تتيح طريقتا
takeInputQueue
وtakeSurface()
الجديدتان فيWindow
إدارة الرموز البرمجية الأصلية. الأحداث ومساحات العرض. dalvik.system
إزالة عدة فئات تم إيقافها من قبل.- مكتبات Dalvik الأساسية:
- المجموعات الجديدة:
ArrayDeque
وNavigableMap
وConcurrentSkipListMap
،LinkedBlockingDeque
- برامج الخدمات الجديدة من
Arrays
:binarySearch()
"copyOf()
" و"copyOfRange()
" وغير ذلك CookieManager
فيHttpURLConnection
.- واجهات برمجة تطبيقات أكثر اكتمالاً للشبكة:
InterfaceAddress
NetworkInterface
وIDN
- عناصر التحكّم في القراءة والكتابة في
File
String.isEmpty()
Normalizer
وNormalizer.Form
- تحسين مقابس خادم
javax.net.ssl
- المجموعات الجديدة:
- سمة
xlargeScreens
جديدة للعنصر<supports-screens>
للإشارة إلى ما إذا كان التطبيق متوافقًا مع أشكال الأجهزة ذات الشاشات الكبيرة جدًا لمعرفة التفاصيل، يُرجى الاطّلاع على دعم عدة عناصر. الشاشات: - قيم جديدة لسمة
android:screenOrientation
لعنصر<activity>
:"reverseLandscape"
- يريد النشاط أن تكون الشاشة في الوضع الأفقي، ولكن في الاتجاه المعاكس للوضع الأفقي العادي.-
"reversePortrait"
- يريد النشاط أن تكون الشاشة في الوضع العمودي، ولكن في الاتجاه المعاكس للوضع العمودي العادي. "sensorLandscape"
— يريد النشاط أن تكون الشاشة في الوضع الأفقي، ولكن يمكنه استخدام أداة الاستشعار لتغيير الاتجاه الذي تواجهه الشاشة.-
"sensorPortrait"
- يريد النشاط أن تكون الشاشة في الوضع العمودي، ولكن يمكنه استخدام أداة الاستشعار لتغيير الاتجاه الذي تواجهه الشاشة. -
"fullSensor"
: يتم تحديد الاتجاه من خلال أداة استشعار اتجاه مادي: سيتم تدوير الشاشة استنادًا إلى كيفية تحريك المستخدم للجهاز. يتيح ذلك أيًا من عمليات الدوران الأربعة المحتملة، بغض النظر عما سيفعله الجهاز عادةً (على سبيل المثال، لن تستخدم بعض الأجهزة عادةً عملية الدوران بدرجة 180).
-
com.android.permission.SET_ALARM
: للسماح لتطبيق ببث رسالة Intent لضبط منبّه للمستخدم نشاط يعالج إجراء Intent من النوعSET_ALARM
يجب أن يطلبوا هذا الإذن. -
android.permission.USE_SIP
: للسماح للتطبيق باستخدامSIP API
لإجراء مكالمات عبر الإنترنت أو تلقّيها -
android.permission.NFC
: السماح للتطبيق باستخدامNFC API
لقراءة علامات NFC -
android.hardware.audio.low_latency
: يستخدم التطبيق مسارًا مختصًا بالصوت يتميز بوقت استجابة منخفض على الجهاز، وهو حساس للتأخيرات في إدخال الصوت أو معالجته. android.hardware.camera.front
— يستخدم التطبيق واجهة أمامية الكاميرا على الجهاز.android.hardware.nfc
— يستخدم التطبيق ميزات البث اللاسلكي NFC في الجهاز.android.hardware.sensor.barometer
— يستخدم التطبيق ميزات الجهاز مقياس الضغط الجوي.android.hardware.sensor.gyroscope
- يستخدم التطبيق أداة استشعار الجيروسكوب في الجهاز.android.software.sip
— يستخدم التطبيق واجهة برمجة التطبيقات SIP على الجهاز.android.software.sip.voip
- يستخدم التطبيق خدمة Voice over Internet Protocol (VoIP) المستندة إلى بروتوكول بدء الجلسة (SIP) على الجهاز.android.hardware.touchscreen.multitouch.jazzhand
— يستخدم التطبيق إمكانات اللمس المتعدد النقاط المتقدمة على شاشة الجهاز، لتتبع خمس نقاط أو أكثر بشكلٍ مستقل تمامًا.
الشاشات الكبيرة جدًا
تتيح المنصة الآن استخدام أحجام الشاشات الكبيرة جدًا، مثل الشاشات التي قد
على الأجهزة اللوحية. ويمكن للمطورين الإشارة إلى أن تطبيقاتهم
مصمَّمة لتتيح استخدام أحجام الشاشات الكبيرة جدًا من خلال إضافة عنصر <supports
screens ... android:xlargeScreens="true">
إلى ملف البيان
الملفات. يمكن للتطبيقات استخدام مؤهِّل موارد جديد، وهو xlarge
، لتحديد الموارد المخصّصة للشاشات الكبيرة جدًا. بالنسبة
تفاصيل حول كيفية إتاحة أحجام الشاشات الكبيرة وغيرها، راجع دعم حالات متعددة
الشاشات:
الرسومات
موفّرو المحتوى
الموقع الجغرافي
مساحة التخزين
مدير الحزم
الاتصالات الهاتفية
وصول محلي إلى مراحل نشاط النشاط، النوافذ
يوفّر Android 2.3 مجموعة واسعة من واجهات برمجة التطبيقات للتطبيقات التي تستخدم الرمز. تشمل فئات الإطارات ذات الصلة بهذه التطبيقات ما يلي:
للحصول على معلومات كاملة عن العمل باستخدام الرموز البرمجية الأصلية أو لتنزيل حزمة NDK، يُرجى الاطّلاع على صفحة حزمة NDK لنظام التشغيل Android.
Dalvik Runtime
عناصر وصفات جديدة في البيان
الأذونات الجديدة
الميزات الجديدة
تضيف المنصة العديد من ميزات الأجهزة الجديدة التي يمكن للمطوّرين الإعلان عنها. في بيانات التطبيقات الخاصة بهم على أنها مطلوبة من خلال تطبيقاتهم. هذا النمط تتيح للمطورين التحكم في كيفية تصفية تطبيقاتهم عند نشرها في Google Play.
للحصول على معلومات كاملة حول كيفية الإفصاح عن الميزات واستخدامها للقيام بالتصفية، يُرجى الاطّلاع على مستندات <uses-feature>
.
تقرير الاختلافات في واجهات برمجة التطبيقات
للحصول على عرض تفصيلي لجميع تغييرات واجهة برمجة التطبيقات في Android 2.3 (واجهة برمجة التطبيقات) المستوى 9)، يُرجى الاطّلاع على واجهة برمجة التطبيقات تقرير الاختلافات
مستوى واجهة برمجة التطبيقات
يوفر نظام Android 2.3 الأساسي إصدارًا محدثًا من واجهة برمجة تطبيقات إطار العمل. تم منح واجهة برمجة التطبيقات لنظام التشغيل Android 2.3 معرّفًا عدديًا هو 9 ويتم تخزينه في النظام نفسه. ويتيح هذا المعرّف، يُسمى "مستوى واجهة برمجة التطبيقات"، لتحديد ما إذا كان التطبيق متوافقًا مع النظام، قبل تثبيت التطبيق.
لاستخدام واجهات برمجة التطبيقات المقدّمة في الإصدار 2.3 من نظام التشغيل Android في تطبيقك،
ستحتاج إلى تجميع التطبيق مقابل مكتبة Android المتوفرة
النظام الأساسي لحزمة تطوير البرامج (SDK) الإصدار 2.3 من Android. استنادًا إلى احتياجاتك، قد تحتاج
أيضًا إلى إضافة سمة android:minSdkVersion="9"
إلى عنصر <uses-sdk>
فيملف
بيان التطبيق. إذا تم تصميم تطبيقك للتشغيل فقط على الإصدار 2.3 من نظام التشغيل Android والإصدارات الأحدث،
أن إعلان السمة يمنع تثبيت التطبيق عليه في وقت سابق
من المنصة.
لمزيد من المعلومات، يمكنك الاطّلاع على ما هو مستوى واجهة برمجة التطبيقات؟