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

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

Android 3.2 (HONEYCOMB_MR2) هو إصدار تزايدي على النظام الأساسي يضيف إمكانات جديدة للمستخدمين والمطوّرين. تقدم الأقسام أدناه نظرة عامة على الميزات الجديدة وواجهات برمجة التطبيقات للمطورين.

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

أبرز ميزات المنصة

الميزات الجديدة للمستخدمين

  • تحسينات لمجموعة أكبر من الأجهزة اللوحية

    يشتمل Android 3.2 على مجموعة متنوعة من التحسينات عبر النظام لضمان تجربة مستخدم رائعة على مجموعة أكبر من الأجهزة اللوحية.

  • التكبير/التصغير المتوافق مع التطبيقات ذات الحجم الثابت

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

  • مزامنة الوسائط من بطاقة SD

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

الميزات الجديدة للمطوّرين

  • واجهة برمجة تطبيقات موسّعة لإدارة دعم الشاشات

    يقدّم Android 3.2 إضافات إلى واجهة برمجة تطبيقات دعم الشاشة للنظام الأساسي لمنح المطوّرين طرقًا إضافية لإدارة واجهة مستخدم التطبيقات عبر مجموعة الأجهزة التي تعمل بنظام التشغيل Android. تتضمن واجهة برمجة التطبيقات مؤهلات موارد جديدة وسمات بيانية جديدة تمنحك تحكمًا أكثر دقة في كيفية عرض تطبيقاتك بأحجام مختلفة، بدلاً من الاعتماد على فئات أحجام معممة.

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

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

واجهات برمجة تطبيقات دعم Screens

يقدم Android 3.2 شاشات جديدة تدعم واجهات برمجة التطبيقات التي تمنحك مزيدًا من التحكم في طريقة عرض التطبيقات عبر أحجام الشاشات المختلفة. تعتمد واجهة برمجة التطبيقات على واجهة برمجة التطبيقات المتوافقة حاليًا مع الشاشات، بما في ذلك نموذج كثافة الشاشة المعمم للنظام الأساسي، لكنّها توسّع نطاقها من خلال إمكانية استهداف نطاقات شاشات معيّنة بدقة حسب أبعادها، مُقاسًا بوحدات بكسل مستقلة الكثافة (مثل 600 بكسل مستقل الكثافة أو 720 بكسل مستقل الكثافة)، بدلاً من أحجام الشاشات المعممة (مثل كبيرة أو كبيرة جدًا).

عند تصميم واجهة مستخدم لأحد التطبيقات، لا يزال بإمكانك الاعتماد على النظام الأساسي لتوفير تجريد الكثافة، ما يعني أن التطبيقات لا تحتاج إلى تعويض الاختلافات في كثافة وحدات البكسل الفعلية عبر الأجهزة. يمكنك تصميم واجهة مستخدم التطبيق وفقًا لمقدار المساحة الأفقية أو الرأسية المتاحة. يعبّر النظام الأساسي عن حجم المساحة المتاحة باستخدام ثلاث خصائص جديدة: smallest width وwidth وheight.

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

صُممت واجهة برمجة تطبيقات دعم الشاشات الجديدة لتتيح لك إدارة واجهة مستخدم التطبيق وفقًا لأصغر عرض للشاشة الحالية. يمكنك أيضًا إدارة واجهة المستخدم وفقًا للعرض أو الارتفاع الحاليَين، حسب الحاجة. لهذه الأغراض، توفر واجهة برمجة التطبيقات الأدوات التالية:

  • مؤهِّلات موارد جديدة لاستهداف تخطيطات وموارد أخرى بأقل أصغر عرض أو عرض أو ارتفاع،
  • سمات بيان جديدة لتحديد نطاق توافق الشاشة الأقصى للتطبيق

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

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

الجدول 1. الأجهزة العادية، ذات الكثافة والحجم بوحدات بكسل مستقلة الكثافة

Type الكثافة (معمم) الأبعاد (dp) أصغر عرض (dp)
الهاتف الأساسي mdpi 320×480 320
جهاز لوحي صغير/هاتف كبير mdpi 480×800 480
جهاز لوحي مقاس 7 بوصات mdpi 600 × 1024 600
جهاز لوحي مقاس 10 بوصات mdpi 800×1280 800

توفِّر الأقسام أدناه مزيدًا من المعلومات حول مؤهِّلات الشاشة الجديدة وسمات البيان. للحصول على معلومات كاملة حول طريقة استخدام واجهة برمجة التطبيقات الخاصة بدعم الشاشة، يُرجى الاطّلاع على القسم دعم الشاشات المتعددة.

مؤهلات موارد جديدة لدعم الشاشات

تتيح لك مؤهلات الموارد الجديدة في Android 3.2 استهداف تنسيقاتك بشكل أفضل لنطاقات أحجام الشاشات. باستخدام المؤهِّلات، يمكنك إنشاء تهيئات موارد مصممة لحدٍ أدنى معيّن للعرض أو العرض الحالي أو الارتفاع الحالي، مُقاسًا بوحدات بكسل مستقلة الكثافة.

في ما يلي المؤهلات الجديدة:

  • swNNNdp — تحدّد الحد الأدنى لأصغر عرض يجب استخدام المورد عليه، حيث يتم قياسه بوحدات "dp". كما ذكرنا أعلاه، أصغر عرض للشاشة يكون ثابتًا، بغض النظر عن الاتجاه. أمثلة: sw320dp وsw720dp وsw720dp.
  • wNNNdp وhNNNdp — يحدد الحد الأدنى للعرض أو الارتفاع الذي يجب استخدام المورد عليه، حيث يتم قياسه بوحدات "dp". وكما ورد أعلاه، يتم حساب عرض الشاشة وارتفاعها بشكل متناسب مع اتجاه الشاشة ويتم تغييره كلما تغير الاتجاه. أمثلة: w320dp وw720dp وh1024dp.

يمكنك أيضًا إنشاء عمليات ضبط متعدّدة للموارد متداخلة إذا لزم الأمر. على سبيل المثال، يمكنك وضع علامة على بعض الموارد لاستخدامها على أي شاشة يزيد عرضها عن 480 وحدة بكسل مستقلة الكثافة، وبعض الموارد الأخرى لعرض محتوى يزيد عن 720 وحدة بكسل مستقلة الكثافة. عندما تكون عدة إعدادات للموارد مؤهَّلة للعرض على شاشة معيّنة، يحدّد النظام الإعدادات الأكثر تطابقًا. للتحكم الدقيق في الموارد التي يتم تحميلها على شاشة معينة، يمكنك وضع علامة على الموارد بمؤهِّل واحد أو دمج عدة مؤهلات جديدة أو حالية.

استنادًا إلى الأبعاد النموذجية المذكورة سابقًا، إليك بعض الأمثلة حول كيفية استخدام المؤهلات الجديدة:

res/layout/main_activity.xml   # For phones
res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets
res/layout-w600dp/main_activity.xml   # Multi-pane when enough width
res/layout-sw600dp-w720dp/main_activity.xml   # For large width

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

res/layout/main_activity.xml   # For phones
res/layout-xlarge/main_activity.xml   # For pre-3.2 tablets
res/layout-sw600dp/main_activity.xml   # For 3.2 and up tablets

للحصول على معلومات كاملة عن كيفية استخدام المؤهِّلات الجديدة، اطّلِع على استخدام مؤهِّلات الأحجام الجديدة.

سمات جديدة في بيان التوافق مع حجم الشاشة

يقدّم إطار العمل مجموعة جديدة من سمات بيان <supports-screens> التي تتيح لك إدارة توافق تطبيقك مع أحجام الشاشات المختلفة. وعلى وجه التحديد، يمكنك تحديد الشاشات الأكبر والأصغر التي تم تصميم تطبيقك عليها للتشغيل، بالإضافة إلى أكبر شاشة تم تصميم التطبيق عليها والتي تعمل دون الحاجة إلى وضع توافق الشاشة الجديد في النظام. مثل مؤهلات الموارد الموضحة أعلاه، تحدد سمات البيان الجديدة نطاق الشاشات التي يدعمها التطبيق، على النحو المحدد من خلال أصغر عرض.

في ما يلي سمات البيان الجديدة لدعم الشاشة:

  • android:compatibleWidthLimitDp="numDp": تتيح لك هذه السمة تحديد الحدّ الأقصى الأصغر لعرض التطبيق الذي يمكن تشغيل التطبيق عليه بدون الحاجة إلى وضع التوافق. إذا كانت الشاشة الحالية أكبر من القيمة المحددة، يعرض النظام التطبيق في الوضع العادي ولكنه يسمح للمستخدم اختياريًا بالتبديل إلى وضع التوافق من خلال إعداد في شريط النظام.
  • android:largestWidthLimitDp="numDp" — تتيح لك هذه السمة تحديد الحدّ الأقصى الأصغر لعرض التطبيق الذي تمّ تصميم التطبيق عليه. إذا كانت الشاشة الحالية أكبر من القيمة المحددة، يفرض النظام استخدام وضع التوافق مع الشاشة على التطبيق، لضمان عرض أفضل على الشاشة الحالية.
  • android:requiresSmallestWidthDp="numDp" — تتيح لك هذه السمة تحديد الحدّ الأدنى الأصغر لعرض يمكن تشغيل التطبيق عليه. إذا كانت الشاشة الحالية أصغر من القيمة المحددة، يعتبر النظام التطبيق غير متوافق مع الجهاز، ولكنه لا يمنع تثبيته وتشغيله.

ملاحظة: لا يُجري Google Play حاليًا فلترة للتطبيقات بناءً على أي من السمات الواردة أعلاه. ستتم إضافة ميزة الفلترة في إصدار النظام الأساسي اللاحق. يمكن للتطبيقات التي تتطلب فلترة استنادًا إلى حجم الشاشة استخدام سمات <supports-screens> الحالية.

للحصول على معلومات كاملة حول كيفية استخدام السمات الجديدة، يُرجى الاطّلاع على الإقرار بمدى توفّر حجم الشاشة.

وضع توافق الشاشة

يوفر Android 3.2 وضعًا جديدًا لتوافق الشاشة مع التطبيقات التي تعلن صراحةً أنها لا تدعم الشاشات بحجم كبير مثل الشاشة التي تعمل عليها. وضع "التكبير/التصغير" الجديد هذا متناسب مع وحدات البكسل، فهو يعرض التطبيق على مساحة شاشة أصغر ثم يقيس وحدات البكسل لملء الشاشة الحالية.

يوفّر النظام تلقائيًا وضع التوافق مع الشاشة كخيار للمستخدم مع التطبيقات التي تتطلّب ذلك. يمكن للمستخدمين تفعيل وضع التكبير أو التصغير أو إيقافه باستخدام عنصر تحكّم متوفّر في شريط النظام.

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

ملاحظة: للحصول على معلومات مهمة حول طريقة التحكّم في وضع التوافق في تطبيقاتك، يُرجى مراجعة مقالة الوضع الجديد للتطبيقات على الشاشات الكبيرة في "مدوّنة مطوّري تطبيقات Android".

كثافة جديدة للشاشة لأجهزة التلفزيون بدقة 720p والأجهزة المشابهة

لتلبية احتياجات التطبيقات التي تعمل على أجهزة تلفزيون بدقة 720p أو ما شابه ذلك للشاشات المعتدلة الكثافة، يقدّم الإصدار 3.2 من نظام التشغيل Android كثافة معممة جديدة وهي tvdpi، مع نسبة نقاط لكل بوصة تقريبًا تبلغ 213. يمكن للتطبيقات طلب البحث عن الكثافة الجديدة في densityDpi ويمكنها استخدام مؤهِّل tvdpi الجديد لوضع علامات على الموارد لأجهزة التلفزيون والأجهزة المشابهة. مثلاً:

res/drawable-tvdpi/my_icon.png   # Bitmap for tv density

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

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

  • الأجزاء
    • تحتوي الفئة Fragment.SavedState الجديدة على معلومات الحالة التي تم استردادها من مثيل للجزء من خلال saveFragmentInstanceState().
    • تحفظ الطريقة الجديدة saveFragmentInstanceState() حالة المثيل الحالية للجزء المحدد. ويمكن استخدام الحالة لاحقًا عند إنشاء مثيل جديد من الجزء يطابق الحالة الحالية.
    • تعيّن الطريقة الجديدة setInitialSavedState() الحالة المحفوظة الأولية للجزء عند إنشائها لأول مرة.
    • تُعلم طريقة معاودة الاتصال onViewCreated() الجديدة الجزء الذي تم إرجاعه onCreateView()، ولكن قبل أن تتم استعادة أي حالة محفوظة إلى العرض.
    • isDetached() ما إذا كان قد تم فصل الجزء بشكل صريح عن واجهة المستخدم.
    • تتيح الطريقتان attach() وdetach() الجديدتان للتطبيق إعادة إرفاق الأجزاء أو فصلها في واجهة المستخدم.
    • تتيح لك طريقة التحميل الزائد setCustomAnimations() الجديدة ضبط موارد صور متحركة محدّدة لتشغيلها لعمليات الدخول/الخروج وخاصة عند فتح الحزمة الخلفية. ولا تأخذ طريقة التنفيذ الحالية في الاعتبار السلوك المختلف للأجزاء عند تمييز الحزمة الخلفية.
  • معلومات حجم الشاشة في ActivityInfo وApplicationInfo
  • أدوات مساعدة للحصول على حجم العرض من WindowManager
    • تتيح الطريقتان الجديدتان getSize() وgetRectSize() للتطبيقات الحصول على الحجم الأولي للشاشة.
  • أنماط "مجسَّمة" علنية جديدة
    • يعرض النظام الأساسي الآن مجموعة متنوعة من الأنماط العامة "المجسّمة" للنص وأدوات شريط الإجراءات وعلامات التبويب وغيرها. للاطّلاع على القائمة الكاملة، يُرجى الانتقال إلى R.style.
  • تم إيقاف LocalActivityManager وActivityGroup وLocalActivityManager نهائيًا
    • يجب أن تستخدم التطبيقات الجديدة الأجزاء بدلاً من هذه الفئات. ولمواصلة عرض تطبيقك على الإصدارات القديمة من النظام الأساسي، يمكنك استخدام الإصدار 4 من مكتبة الدعم (مكتبة التوافق) المتاحة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android. توفّر الإصدار 4 من واجهة برمجة التطبيقات Fragment API إصدارًا متوافقًا مع الإصدار 1.6 من Android (المستوى 4 لواجهة برمجة التطبيقات).
    • بالنسبة إلى التطبيقات التي يتم تطويرها استنادًا إلى نظام التشغيل Android 3.0 (المستوى 11 لواجهة برمجة التطبيقات) أو الإصدارات الأحدث، يتم عادةً عرض علامات التبويب في واجهة المستخدم باستخدام واجهة المستخدم ActionBar.newTab() الجديدة وواجهات برمجة التطبيقات ذات الصلة لوضع علامات التبويب في مساحة شريط الإجراءات.

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

  • أصبح بإمكان التطبيقات التي تستخدم موفّر خدمة الوسائط على النظام الأساسي (MediaStore) قراءة بيانات الوسائط مباشرةً من بطاقة SD القابلة للإزالة، في حال كان الجهاز متوافقًا معها. ويمكن للتطبيقات أيضًا التفاعل مع ملفات بطاقة SD مباشرةً باستخدام واجهة برمجة التطبيقات MTP API.

الرسومات

إطار عمل أداة IME

  • طريقة getModifiers() جديدة لاسترداد الحالة الحالية لمفاتيح التعديل.

إطار عمل USB

  • طريقة getRawDescriptors() جديدة لاسترداد أدوات وصف USB الأولية للجهاز. ويمكنك استخدام الطريقة للوصول إلى الأوصاف غير المتاحة مباشرةً من خلال واجهات برمجة التطبيقات ذات المستوى الأعلى.

الشبكة

التلفونية

برامج الخدمات الأساسية

  • المرافق القابلة للنقل
  • Binder وIhander
    • تسمح الطريقة الجديدة dumpAsync() في Binder وIBinder للتطبيقات بتفريغ إلى ملف محدّد، ما يضمن تنفيذ الهدف بشكل غير متزامن.
    • إنّ رمز معاملة بروتوكول IBinder الجديد TWEET_TRANSACTION يتيح للتطبيقات إرسال تغريدة إلى العنصر المستهدَف.

ثوابت الميزات الجديدة

يضيف النظام الأساسي ثوابت جديدة لميزات الأجهزة يمكنك الإفصاح عنها في بيانات التطبيق لإبلاغ الكيانات الخارجية مثل Google Play بإمكانيات الأجهزة والبرامج المطلوبة. أنت تعلن عن هذه الثوابت وغيرها من الثوابت في عناصر بيان <uses-feature>.

يُفلتِر Google Play التطبيقات استنادًا إلى سمات <uses-feature> للتأكّد من أنّها متوفّرة فقط للأجهزة التي تستوفي المتطلبات.

  • ثوابت الميزات للمتطلبات الأفقية أو الرأسية

    يقدم Android 3.2 ثوابتًا جديدة للميزات التي تسمح للتطبيقات بتحديد ما إذا كانت تتطلب العرض في الاتجاه الأفقي أو الاتجاه الرأسي أو كليهما. ويشير تعريف هذه الثوابت إلى أنّه يجب عدم تثبيت التطبيق على جهاز لا يقدّم الاتجاه المرتبط به. وبالعكس، إذا لم يتم تعريف أحد هذين الثابتين أو كليهما، فإن ذلك يشير إلى أن التطبيق لا يفضِّل الاتجاهات غير المعروفة ويمكن تثبيته على جهاز لا يوفّر هذه الاتجاهات.

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

    في حال تشغيل أي من الأنشطة المعرَّفة في طلب البيان باتجاه معيّن، باستخدام السمة android:screenOrientation، يعني ذلك أيضًا أنّ التطبيق يتطلب ذلك الاتجاه.

  • ثوابت الميزات الأخرى

تقرير الاختلافات في واجهة برمجة التطبيقات

للحصول على عرض تفصيلي لجميع التغييرات في واجهة برمجة التطبيقات في الإصدار Android 3.2 (المستوى 13 من واجهة برمجة التطبيقات)، يمكنك الاطّلاع على تقرير الاختلافات في واجهة برمجة التطبيقات.

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

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

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

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