مكتبة الدعم

ملاحظة: مع إصدار Android 9.0 (المستوى 28 من واجهة برمجة التطبيقات)، لن يكون هناك لإصدار جديد من مكتبة الدعم يسمى نظام AndroidX الذي يُعدّ جزءًا من Jetpack مكتبة AndroidX ويحتوي على مكتبة الدعم الحالية، بالإضافة إلى أحدث مكوّنات Jetpack.

يمكنك مواصلة استخدام مكتبة الدعم. ستكون العناصر التاريخية (التي تم إطلاقها في الإصدار 27 أو الإصدارات الأقدم والمضمّنة في شكل android.support.*) جاهزة. متاحة على Google Maven. ومع ذلك، فإن جميع عمليات تطوير المكتبات الجديدة سيحدث في مكتبة AndroidX.

ننصح باستخدام مكتبات AndroidX في جميع المشاريع الجديدة. يجب عليك أيضًا مراعاة نقل المشاريع الحالية إلى AndroidX أيضًا.

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

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

يقدم هذا المستند نظرة عامة على مكتبة الدعم لمساعدتك فهم مكوّناتها وكيفية استخدامها بفعالية في تطبيقك.

تنبيه: بدءًا من الإصدار 26.0.0 من Support Library (تموز (يوليو) 2017)، وهو الحد الأدنى لمستوى واجهة برمجة التطبيقات المعتمد في معظم مكتبات الدعم إلى Android 4.0 (المستوى 14 من واجهة برمجة التطبيقات) لمعظم حزم المكتبات. بالنسبة للحصول على مزيد من المعلومات، يُرجى مراجعة دعم الإصدار والحزمة الأسماء في هذه الصفحة.

استخدامات مكتبات الدعم

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

  • التوافق مع الأنظمة القديمة لواجهات برمجة التطبيقات الأحدث - كمية كبيرة من توفر مكتبات الدعم توافقًا مع الأنظمة القديمة لإطار العمل الأحدث الفئات والطرق. على سبيل المثال، Fragment فئة الدعم توفر دعم الأجزاء على الأجهزة التي تعمل بإصدارات الأقدم من الإصدار Android 3.0 (المستوى 11 لواجهة برمجة التطبيقات).
  • فئات الراحة والمساعد - توفر مكتبات الدعم عدد فئات المساعدة، لا سيما في ما يتعلّق بتطوير واجهة المستخدم. بالنسبة مثال: توفر الفئة RecyclerView للمستخدم واجهة لعرض قوائم طويلة جدًا وإدارتها، ويمكن استخدامها على لـ Android بدءًا من مستوى واجهة برمجة التطبيقات 7 والأعلى.
  • تصحيح الأخطاء والأدوات المساعدة - هناك عدد من الميزات توفِّر فائدة لا تقتصر على الرموز البرمجية التي تستخدمها في تطبيقك، بما في ذلك: support-annotations للحصول على عمليات تحقّق محسَّنة من أداة Lint Codes لمُدخلات الطرق ودعم Multidex لإنشاء التطبيقات وتوزيعها باستخدام أكثر من 65,536 طريقة.

استخدام واجهات برمجة تطبيقات الدعم في مقابل واجهات برمجة تطبيقات إطار العمل

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

  • التوافق مع ميزة معينة - إذا كنت ترغب في دعم الميزة الأحدث على الأجهزة التي تعمل بإصدارات سابقة من الأساسية، يمكنك استخدام الفئات والطرق المكافئة من مكتبة الدعم.
  • التوافق مع ميزات المكتبات ذات الصلة - أكثر تطورًا وصفوف مكتبة الدعم على دعم إضافي واحد أو أكثر بالمكتبة، لذا يجب عليك استخدام فصول مكتبة الدعم لتلك والتبعيات لديك. على سبيل المثال، ViewPager يجب استخدام صف الدعم مع فئتَي الدعم "FragmentPagerAdapter" أو "FragmentStatePagerAdapter".
  • التوافق العام مع الجهاز: إذا لم يكن لديك جهاز إحدى الميزات التي تنوي استخدامها مع تطبيقك بإصدارات متوافقة مع الأنظمة القديمة. إلا أنه من الأفضل استخدام فصول مكتبة الدعم في تطبيقك. على سبيل المثال، قد تحتاج إلى استخدام ActivityCompat بدلاً من الفئة Activity في إطار العمل للاستفادة من الميزات الأحدث. فيما بعد، مثل دمج نموذج الأذونات الجديد الذي تم تقديمه في Android 6.0 (المستوى 23)

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

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

دعم الإصدار وأسماء الحِزم

تحتوي بعض حزم مكتبة الدعم على أسماء حزمة للإشارة إلى الحد الأدنى من واجهة برمجة التطبيقات التي دعمتها في الأصل، باستخدام علامة v#، مثل حزمة الإصدار 4 من الدعم. بدءًا من الإصدار 26.0.0 من Support Library (مكتبة الدعم) تموز (يوليو) 2017)، حيث تغير الحد الأدنى المتاح لمستوى واجهة برمجة التطبيقات إلى Android 4.0 (واجهة برمجة التطبيقات). المستوى 14) لكل حزم مكتبة الدعم. لهذا السبب، عند العمل مع أي إصدار حديث من مكتبة الدعم، فلا ينبغي أن تفترض أن يشير تدوين الحزمة v# إلى الحد الأدنى لمستوى دعم واجهة برمجة التطبيقات. يعني هذا التغيير في الإصدارات الحديثة أيضًا أن حزم المكتبة التي تتضمن الإصدار 4 والإصدار 7 مكافئان في الحد الأدنى من واجهة برمجة التطبيقات التي تتيحهما. على سبيل المثال، يدعم كل من حزمة support-v4 وsupport-v7 الحد الأدنى المستوى 14 من واجهة برمجة التطبيقات (API) لإصدارات Support Library من 26.0.0 والإصدارات الأحدث

إصدارات إصدارات مكتبة الدعم

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

وعلى وجه التحديد، القسم الأول من رقم إصدار الإصدار، على سبيل المثال 24 في الإصدار 24.2.0، تتوافق بشكل عام مع إصدار Platform API المتاحة عند إصدارها. يمثِّل مستوى إصدار إلى أنها تتضمن بعض ميزات واجهة برمجة التطبيقات ولكن لا ينبغي أن تفترض أنه يتوافق مع جميع في إصدار واجهة برمجة تطبيقات النظام الأساسي الجديد.

تبعيات المكتبة

تعتمد معظم المكتبات في مجموعة مكتبة دعم Android على بعض مكتبة واحدة أو أكثر. على سبيل المثال، تحتوي جميع مكتبات الدعم تقريبًا على والاعتماد على حزمة support-compat. بشكل عام، لا ينبغي لك ينبغي أن تقلق بشأن تبعيات مكتبة الدعم، نظرًا لأن نظام Gradle تبعيات المكتبة من أجلك، عن طريق تضمين والمكتبات التابعة.

إذا كنت تريد معرفة تبعيات المكتبات المضمنة في فشغِّل الأمر التالي في جذر الإصدار الخاص بتطوير تطبيقك مشروعك للحصول على تقرير عن التبعيات لهذا المشروع، بما في ذلك مكتبات دعم Android والمكتبات الأخرى:

gradle -q dependencies your-app-project:dependencies

لمزيد من المعلومات حول إضافة مكتبات الدعم إلى حزمة تطوير البرامج باستخدام Gradle، راجع الدعم إعداد المكتبة: لمزيد من المعلومات حول العمل باستخدام Gradle، يمكنك الاطلاع على الإعداد التصميم الخاص بك:

تجدر الإشارة إلى أن جميع مكتبات دعم Android تعتمد أيضًا على مستوى أساسي معيّن للنظام الأساسي، في الإصدارات الأخيرة، أي Android 4.0 (المستوى 14 لواجهة برمجة التطبيقات) أو أعلى.