المجموعة
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 27 أغسطس 2025 | 1.5.0 | - | - | 1.6.0-alpha01 |
تحديد الاعتماديات
لإضافة اعتمادية على Collection، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
رائع
dependencies { def collection_version = "1.5.0" implementation "androidx.collection:collection:$collection_version" }
Kotlin
dependencies { val collection_version = "1.5.0" implementation("androidx.collection:collection:$collection_version") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.6
الإصدار 1.6.0-alpha01
27 أغسطس 2025
تم طرح androidx.collection:collection-*:1.6.0-alpha01. يتضمّن الإصدار 1.6.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (Idb6b5)
إصلاح الأخطاء
- في السابق، كانت الدالة
SparseArrayCompatتعرضnullللوسيطة valueAt وkeyAtعند تمرير فهرس يندرج ضمن النطاق المخصّص، ولكن خارج النطاق المُدرَج0..size -1. وكما هو موضّح في المستندات، لم يكن من المتوقّع حدوث هذا السلوك أبدًا، وهو خارج نطاق الإدخال الصالح، ويحلّ هذا التغيير هذه المشكلة من خلال عرض الخطأIndexOutOfBoundsعند تمرير فهرس غير صالح. (I68453)
المساهمة الخارجية
نشكر "جيك وارتون" على المساهمات التالية:
- يمكنك مطابقة سلوك
joinToStringمع مجموعات المنصات من خلال إضافة فاصل قبل مؤشر الاقتطاع واللاحقة بعده عند الحدّ من العناصر المضمّنة. (I1b7e8) - لم يعُد
ScatterSet.hashCodeيوفّر الحماية من التكرار (أي إضافة المجموعة إلى نفسها). يؤدي ذلك إلى توافق سلوكه معScatterMapوHashSetوالمجموعات الأساسية المستندة إلى التشتيت (مثلLongSet). يُرجى العِلم أنّ طريقةequalsكانت معرَّضة للتكرار، وأنّtoStringتحمي من ذلك، وكلا السلوكين يتوافقان مع المجموعات الأخرى. (I9c84a) - أصبحت الدالة
ScatterSet.retainAllمضمّنة الآن لتجنُّب إنشاء مثيل lambda. (Ifa4b7) - لم يعُد
ScatterSet.hashCodeيستخدم سعته في احتساب التجزئة، ما يضمن أنّ المحتوى المتساوي ولكن بسعات مختلفة سيظل ينتج القيمة نفسها. (Ic863b) - يتم الآن عرض الخطأ
IllegalStateExceptionإذا استدعيتremove()قبلnext()على مكرّر لمجموعاتkeysأوvaluesأوentriesمنScatterMap.asMap()أوScatterSet.asSet(). يؤدي ذلك إلى توافق سلوكها مع سلوك الخريطة العادية والمجموعة. (I71694)
الإصدار 1.5
الإصدار 1.5.0
12 مارس 2025
تم طرح androidx.collection:collection-*:1.5.0. يتضمّن الإصدار 1.5.0 هذه التعديلات.
الإصدار 1.5.0-rc01
26 فبراير 2025
تم طرح androidx.collection:collection-*:1.5.0-rc01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.
الإصدار 1.5.0-beta03
29 يناير 2025
تم طرح androidx.collection:collection-*:1.5.0-beta03. يتضمّن الإصدار 1.5.0-beta03 هذه التعديلات.
الإصدار 1.5.0-beta02
15 يناير 2025
تم طرح androidx.collection:collection-*:1.5.0-beta02. يتضمّن الإصدار 1.5.0-beta02 هذه التعديلات.
الإصدار 1.5.0-beta01
11 ديسمبر 2024
تم طرح androidx.collection:collection-*:1.5.0-beta01. يتضمّن الإصدار 1.5.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- إضافة دعم لاستهداف
watchosDeviceArm64KMP واستهداف الإصدار 1.9 من Kotlin (Icf15d، b/364652024)
الإصدار 1.5.0-alpha06
13 نوفمبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha06. يتضمّن الإصدار 1.5.0-alpha06 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح عُطل كان يمكن أن يحدث في
SieveCacheوOrderedScatterSetعند إضافة العديد من العناصر التي تتسبّب في حدوث تعارضات متكرّرة في المفاتيح. (Iaaf3d، b/375607736) - إضافة هدف wasm إلى مكتبة المجموعة (I66fe3، b/352722444)
الإصدار 1.5.0-alpha05
30 أكتوبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha05. يتضمّن الإصدار 1.5.0-alpha05 هذه التعديلات.
الإصدار 1.5.0-alpha04
16 أكتوبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha04. يتضمّن الإصدار 1.5.0-alpha04 هذه التعديلات.
الإصدار 1.5.0-alpha03
2 أكتوبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha03. يتضمّن الإصدار 1.5.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تحديث إصدار Kotlin إلى 1.9 (I1a14c)
المساهمة الخارجية
- انتقِل إلى
containsثمcontainsKey. شكرًا "جيك وارتون". (I9362b) - إضافة أدوات إنشاء حاويات للمجموعات المتخصّصة في القيم العددية شكرًا "جيك وارتون". (I13179)
الإصدار 1.5.0-alpha02
18 سبتمبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha02. يتضمّن الإصدار 1.5.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تضيف هذه السمة إمكانية استهداف منصة
watchosDeviceArm64. (I1cc04، b/364652024)
الإصدار 1.5.0-alpha01
4 سبتمبر 2024
تم طرح androidx.collection:collection-*:1.5.0-alpha01. يتضمّن الإصدار 1.5.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
-
OrderedScatterSetهي مجموعة جديدة مرتبة وغير مخصّصة (Ic4178) -
SieveCacheهو بديل جديد لا يتطلّب تخصيصًا لـLruCache، ويوفر خصائص أفضل لمعدّل النتائج المطابقة. (I50a17) - تم عرض التمثيل الداخلي
packedValueلكل منIntIntPairوFloatFloatPair. (Ifeb75، b/331853566) - إضافة إذن الوصول إلى مصفوفة المحتوى في مجموعات القوائم (I899d5، b/333903173)
- أضِف
DoubleList، وهي بنية بيانات شبيهة بالقائمة تم تحسينها لقيم Double. (Ia10d1، b/315127635)
إصلاح الأخطاء
- نقل مكتبة المجموعات إلى الإصدار 1.9 من Kotlin (I0782f)
- تحسين العديد من المجموعات لتكون أكثر فعالية (Ic0566)
الإصدار 1.4
الإصدار 1.4.5
30 أكتوبر 2024
تم طرح androidx.collection:collection-*:1.4.5. يتضمّن الإصدار 1.4.5 هذه التعديلات.
الإصدار 1.4.4
18 سبتمبر 2024
تم طرح androidx.collection:collection-*:1.4.4. يتضمّن الإصدار 1.4.4 هذه التعديلات.
إصلاح الأخطاء
- حلّ بديل
ArrayIndexOutOfBoundsعند ترتيب مجموعة فارغة (I65245)
الإصدار 1.4.3
7 أغسطس 2024
تم طرح androidx.collection:collection-*:1.4.3. يتضمّن الإصدار 1.4.3 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة تلف البيانات التي يمكن أن تحدث في
ScatterMapوScatterSetومتغيراتهما الأساسية. (I38a4a، b/352560465) - تحسينات في الأداء على وجه الخصوص:
- استبدِل طلبات
check()وrequired()بصيغ لا تعرض استثناءات مضمّنة. يؤدي ذلك إلى تقليل حجم الملف الثنائي النهائي، والأهم من ذلك أنّه يخفف من الضغط على ذاكرة التخزين المؤقت i-cache قليلاً. - تم تحسين
removeDeletedMarkers()في مجموعة "الرسومات المبعثرة". يزيل الإصدار الجديد علامات الحذف بمعدل 8 علامات في المرة الواحدة ويتخطى عمليات الكتابة الأكثر تكلفة أثناء العملية. (Ic0566)
- استبدِل طلبات
الإصدار 1.4.2
24 يوليو 2024
تم طرح androidx.collection:collection-*:1.4.2. يتضمّن الإصدار 1.4.2 هذه التعديلات.
الميزات الجديدة
- يتضمّن أهدافًا إضافية من Kotlin Multiplatform:
watchosوtvosوlinuxArm64. (b/352543988)
الإصدار 1.4.1
10 يوليو 2024
تم طرح androidx.collection:collection-*:1.4.1. يتضمّن الإصدار 1.4.1 هذه التعديلات.
إصلاح الأخطاء
- إزالة العلامات المحذوفة من الخريطة/المجموعة عند تغيير الحجم (7a996c5، b/345960092)
الإصدار 1.4.0
24 يناير 2024
تم طرح androidx.collection:collection-*:1.4.0. يتضمّن الإصدار 1.4.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.3.0
تمت إضافة مجموعات جديدة عالية الكفاءة لتخزين الأنواع الأساسية بدون تحويلها إلى كائنات:
-
MutableScatterMapوScatterMap- فئات تتضمّنMutableMapوواجهة برمجة تطبيقات تشبه الخريطة -
MutableScatterSetوScatterSet- فئات تتضمّنMutableSetوواجهة برمجة تطبيقات تشبه المجموعات MutableObjectList&ObjectList- الفئات التي تتضمّنMutableListوواجهة برمجة تطبيقات تشبه القائمة
على سبيل المثال، الخريطة التي تحتوي على مفتاح عدد صحيح وقيمة من النوع المرجعي هي IntObjectMap<T>. الخريطة التي تحتوي على مفتاح طويل وقيمة عائمة هي LongFloatMap. لا يتوفّر إصدار بالاسم ObjectObjectMap لأنّ ScatterMap/MutableScatterMap يغطّي هذا الاسم.
الإصدار 1.4.0-rc01
10 يناير 2024
تم إصدار androidx.collection:collection-*:1.4.0-rc01 بدون أي تغييرات. يتضمّن الإصدار 1.4.0-rc01 هذه التعديلات.
الإصدار 1.4.0-beta02
29 نوفمبر 2023
تم طرح androidx.collection:collection-*:1.4.0-beta02. يتضمّن الإصدار 1.4.0-beta02 هذه التعديلات.
الميزات الجديدة
- تحسين أداء
FloatFloatPair(If5537)
إصلاح الأخطاء
- تعرض الدالة التكرارية
ScatterMap.asMap()الآن مثيلات جديدة (I28932، b/310365754)
الإصدار 1.4.0-beta01
15 تشرين الثاني (نوفمبر) 2023
تم طرح androidx.collection:collection-*:1.4.0-beta01. يتضمّن الإصدار 1.4.0-beta01 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة
ListIteratorالتي كانت تؤدي إلى ضبط القيم بشكل غير صحيح فيObjectList، ما كان قد يؤدي إلى حدوث عطل بسببIndexOutOfBoundsException. (I3bd8a، b/307049391)
الإصدار 1.4.0-alpha02
18 أكتوبر 2023
تم طرح androidx.collection:collection-*:1.4.0-alpha02. يتضمّن الإصدار 1.4.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمّت إضافة تحميل زائد للدالة
putيعرض القيمة السابقة عند استبدالها بجميع المجموعات الأساسية، مثلFloatFloatMap. - تحويل طرق
removeIfفي المجموعات الأساسية، مثلMutableFloatFloatMap، إلى طرق مضمّنة يضمن ذلك عدم تخصيص دالة lambda لـremoveIf.
الإصدار 1.4.0-alpha01
4 أكتوبر 2023
تم طرح androidx.collection:collection-*:1.4.0-alpha01. يتضمّن الإصدار 1.4.0-alpha01 هذه التعديلات.
الميزات الجديدة
تمت إضافة مجموعات جديدة عالية الكفاءة تتضمّن تكلفة تخصيص منخفضة وأداءً عاليًا:
-
MutableScatterMapوScatterMap- فئات تتضمّنMutableMapوواجهة برمجة تطبيقات تشبه الخريطة -
MutableScatterSetوScatterSet- فئات تتضمّنMutableSetوواجهة برمجة تطبيقات تشبه المجموعات MutableObjectList&ObjectList- الفئات التي تتضمّنMutableListوواجهة برمجة تطبيقات تشبه القائمة
تمت إضافة مجموعات جديدة عالية الكفاءة لتخزين الأنواع الأساسية بدون تحويلها إلى كائنات:
-
Mutable[Int|Float|Long]List: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهةMutableList<Int|Float|Long>. يتوفّر أيضًا[Int|Float|Long]Listللقراءة فقط. على سبيل المثال، يمكن تخزين الأعداد الصحيحة فيIntList. -
Mutable[Int|Float|Long]Set: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهةMutableSet<Int|Float|Long>. يتوفّر أيضًا[Int|Float|Long]Setللقراءة فقط. على سبيل المثال، يمكن الاحتفاظ بالأعداد الصحيحة في IntSet. -
Mutable[Int|Float|Long|Object][Int|Float|Long|Object]Map: فئات تتضمّن واجهة برمجة تطبيقات مشابهة لواجهةMutable<Int|Float|Long,T, Int|Float|Long|T>. يتوفّر أيضًا[Int|Float|Long|Object][Int|Float|Long|Object]Mapللقراءة فقط. على سبيل المثال، الخريطة التي تحتوي على مفتاح عدد صحيح وقيمة من النوع المرجعي هيIntObjectMap<T>. الخريطة التي تحتوي على مفتاح طويل وقيمة عائمة هيLongFloatMap. لا يتوفّر إصدار بالاسمObjectObjectMapلأنّScatterMap/MutableScatterMapيغطّي هذا الاسم.
الإصدار 1.3.0
الإصدار 1.3.0
4 أكتوبر 2023
تم طرح androidx.collection:collection-*:1.3.0. يتضمّن الإصدار 1.3.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.2.0
- يمكنك الآن استخدام "المجموعات" في مشاريع Kotlin Multiplatform. يُرجى العِلم أنّ استهداف "المجموعات" على الأنظمة الأساسية غير Android لا يزال تجريبيًا، ولكن قرّرنا دمج الإصدارات لتسهيل تجربة المطوّرين لها.
- تم نقل كل الرمز المصدر إلى Kotlin. في إطار هذا التغيير، تم الآن تحديد أنواع العديد من واجهات برمجة التطبيقات بشكل صحيح من حيث القيمة الخالية، وأصبح عدد قليل من الأعضاء الخاصين بالحزمة
internal. تتوفّر قائمة بالتغييرات الدقيقة في ملاحظات الإصدار الثانوي 1.3.x أدناه. - بالإضافة إلى نقل البيانات إلى Kotlin، تم دمج
collection-ktxمع العنصر الرئيسي للمجموعة. يمكنك إزالة أي تبعيات علىcollection:collection-ktxبأمان واستخدامcollection:collectionبدلاً منها لأنّcollection-ktxأصبح فارغًا الآن.
الإصدار 1.3.0-rc01
6 سبتمبر 2023
تم إصدار androidx.collection:collection-*:1.3.0-rc01 بدون أي تغييرات. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.
الإصدار 1.3.0-beta01
9 أغسطس 2023
تم طرح androidx.collection:collection-*:1.3.0-beta01. يتضمّن الإصدار 1.3.0-beta01 هذه التعديلات.
الإصدار 1.3.0-alpha04
24 مارس 2023
تم طرح androidx.collection:collection-*:1.3.0-alpha04.
إصلاح الأخطاء
- تمت إزالة قيود التبعية من عناصر Maven لحلّ مشكلة في عملية الإنشاء في Kotlin Native Targets (b/274786186، KT-57531).
الإصدار 1.3.0-alpha03
22 مارس 2023
تم طرح androidx.collection:collection-*:1.3.0-alpha03. يتضمّن الإصدار 1.3.0-alpha03 هذه التعديلات.
الميزات الجديدة
- يمكنك الآن استخدام "المجموعات" في مشاريع KMM. يُرجى العِلم أنّ استهداف "المجموعات" على الأنظمة الأساسية غير Android لا يزال تجريبيًا، ولكننا قرّرنا دمج الإصدارات لتسهيل تجربة المطوّرين لها.
تغييرات واجهة برمجة التطبيقات
- تستخدِم
ArraySetالآنMutableCollectionsبدلاً منAbstractMutableCollectionللسماح بتنفيذtoArray(I1ac32) بشكل أكثر فعالية من حيث استخدام الذاكرة.
إصلاح الأخطاء
- يتوفّر
ArraySet.toArrayالآن على JVM فقط، إذ كان متاحًا دائمًا للتوافق مع Java. على مستخدمي Kotlin استخدام أدوات.toTypedArrayالمساعدة في stdlib بشكل عام، لأنّها توفّر الوظيفة نفسها تمامًا مع إضافة ميزة أمان الأنواع. (I2c59b)
الإصدار 1.3.0-alpha02
27 يوليو 2022
تم طرح androidx.collection:collection:1.3.0-alpha02 وandroidx.collection:collection-ktx:1.3.0-alpha02. يتضمّن الإصدار 1.3.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أصبحت
SparseArrayCompatمتاحة الآن للأنظمة الأساسية غير المستندة إلى JVM من العنصر المشترك (Ic9bd0 وb/219589118 وb/228347315) - أصبحت
CircularIntArrayمتاحة الآن للأنظمة الأساسية غير المستندة إلى JVM من العنصر المشترك (I3d8ef، b/228344943) - أصبحت
LongSparseArrayمتاحة الآن على الأنظمة الأساسية غير المستندة إلى JVM من العنصر المشترك (I73149، b/228347315)
الإصدار 1.3.0-alpha01
29 يونيو 2022
تم طرح androidx.collection:collection:1.3.0-alpha01 وandroidx.collection:collection-ktx:1.3.0-alpha01. يتضمّن الإصدار 1.3.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تم نقل إضافات
collection-ktxإلى عنصر مجموعاتandroidx.collection:collectionالرئيسي. يوفّر هذا التغيير إمكانية وصول مستخدمي Kotlin إلى إضافات -ktx الحالية بدون الحاجة إلى التبعية -ktx، مع الحفاظ على التوافق مع المستخدمين الحاليين. لم يعُد من المفيد الاحتفاظ بهذه الإضافات في عنصر ktx منفصل، لأنّ العنصر الرئيسي انتقل إلى Kotlin. (I6eef2)
تغييرات واجهة برمجة التطبيقات
- توسّع
ArraySetالآنAbstractMutableCollectionولم تعُد تنفّذ واجهة Collection مباشرةً. (If6da0، b/230860589) - تم تحويل
ArraySetإلى Kotlin. بسبب الكتابة الأكثر صرامة، قد لا يتم تجميع بعض طلبات Kotlin بعد الآن. (Id68c1، b/230860589)- تتضمّن الاستدعاءات التالية نوع الوسيطة
T، وليسT?:ArraySet<T>.contains(null)ArraySet<T>.add(null)ArraySet<T>.remove(null)
- تتضمّن عمليات الاستدعاء التالية نوع الإرجاع
T?وليسT!:ArraySet<T?>.valueAt(n)ArraySet<T?>.removeAt(n)ArraySet<T?>().iterator().next()
- لم يعُد من الممكن إجراء المكالمات التالية من Kotlin:
set.toArray()- استخدامset.toTypedArray()set.toArray(array)- استخدامset.forEachIndexed(array::set)
- تتضمّن الاستدعاءات التالية نوع الوسيطة
- دمج أداة إنشاء محمّلة بشكل زائد لـ
SparseArrayCompatكمعلَمة اختيارية لمستخدمي Kotlin (If8407، b/227474719) - إزالة بنية عامل التشغيل لـ
SparseArrayCompat.get(key, defaultValue).ملاحظة: يتيح ذلك استخدام بنية عامل التشغيل لـ.get(key)، ولكنّه يربط بشكل أفضل مساحة واجهة برمجة التطبيقات الخاصة بـSparseArrayCompatبالفئات الأخرى في هذه المكتبة. (I9a38d) - نقل حِزم
LongSparseArrayإلى العنصر الرئيسي، androidx.collection:collection يوفّر هذا التغيير إمكانية وصول مستخدمي Kotlin إلى إضافات -ktx الحالية بدون الحاجة إلى التبعية -ktx، مع الحفاظ على التوافق مع المستخدمين الحاليين. لم يعُد من المفيد الاحتفاظ بهذه الإضافات في عنصر ktx منفصل، لأنّ العنصر الرئيسي انتقل إلى Kotlin. (I8659a) - تحويل
LongSparseArrayإلى Kotlin يضيف هذا التغيير إمكانية تحديد القيمة الخالية بشكل صريح إلى أنواعه، وهو تغيير متوافق مع الثنائيات، ولكنّه قد يتسبّب في عدم توافق المصدر. على وجه الخصوص: لم يعُد بإمكانك الوصول إلى *.isEmptyكسمة، بل يجب الوصول إليها كاستدعاء دالة في Kotlin -.isEmpty()(Idfd0f) - تحويل
SimpleArrayMapإلى Kotlin يؤدي هذا التغيير إلى حدوث بعض التغييرات غير المتوافقة، وذلك نتيجة إمكانية التشغيل التفاعلي بين Java وKotlin وإمكانية تحديد قيمة فارغة للأنواع بشكل صحيح في المصدر.- تمت إتاحة واجهات برمجة التطبيقات الخاصة بالحزمة،
.mSizeو.mArrayو.mHashesو.indexOf()و.indexOfNull()و.indexOfValue()، بشكل خاص. هذا التغيير غير متوافق مع تنسيق البيانات الثنائية، ولكنّه يعكس مستوى الظهور المقصود لهذه الحقول وهو أقرب ما يمكن تحقيقه في Kotlin لأنّه لا يتضمّن طريقة لتحديد مستوى الظهور الخاص بالحزمة. - تم الآن تحديد قيمة بعض الأنواع بشكل صحيح، والطرق المتأثرة هي:
.getOrDefaultو.keyAtو.valueAtو.setValueAtو.putو.putIfAbsentو.removeAtو.replace. - بالنسبة إلى مستخدمي Kotlin، تتوفّر
.isEmpty()الآن كدالة فقط بدلاً من توفّرها أيضًا من خلال الوصول إلى السمة. (I271b7، b/182813986)
- تمت إتاحة واجهات برمجة التطبيقات الخاصة بالحزمة،
تحويل
CircularArrayإلى Kotlin التغييرات البارزة:- يصحّح قيمة Null الخاصة بالأنواع العامة لتصبح غير Null، وهو ما كان يتعذّر الإعلان عنه سابقًا، ولكن تم فرضه في جميع واجهات برمجة التطبيقات العامة.
- بسبب إمكانية التشغيل التفاعلي بين Kotlin وJava، كان من الممكن سابقًا الوصول إلى بعض الطرق كسمات أو دوال. ومع ذلك، للحدّ من التكرار مع الحفاظ على التوافق الثنائي، كان من الضروري إزالة هذه العناصر، وهو تغيير غير متوافق مع المصدر. عمليات الاستدعاء المتأثرة هي:
.isEmptyو.getLast()و.getFirst(). (Ifffac)
تحويل
CircularIntArrayإلى Kotlin بسبب إمكانية التشغيل التفاعلي بين Kotlin وJava، كان من الممكن سابقًا الوصول إلى بعض الطرق كسمات أو وظائف. ومع ذلك، كان من الضروري إزالة هذه العناصر لتقليل التكرار مع الحفاظ على التوافق الثنائي، وهذا تغيير غير متوافق مع المصدر. المكالمات المتأثرة هي:.isEmptyو.getLast()و.getFirst(). (Ie36ce)تحويل
LruCacheإلى Kotlin (Ia2f19)تحويل
SparseArrayCompatإلى Kotlin (If6fe8)تمت إضافة تغيير بسيط في السلوك إلى
SparseArrayCompat.valueAt()، والذي لم يعُد يعرضnullبشكل غير صحيح للمكالمات غير المهيأة خارج نطاقsize()ولكن ضمن السعة الأولية المتوفّرة.يقدّم هذا التغيير أيضًا قيمة null الصحيحة لبعض الأنواع التي كانت غير متوفّرة سابقًا.
.get(): E?->.get(): E.replace(Int, Int?): Int?->.replace(Int, Int): Int?.replace(Int, Int?, Int?): Boolean->.replace(Int, Int, Int): Boolean.put(Int, Int?)->.put(Int, Int).putIfAbsent(Int, Int?): Int?->.putIfAbsent(Int, Int): Int?.setValueAt(index: Int, value: Int?)->.setValueAt(index: Int, value: Int).indexOfValue(value: Int?): Int->.indexOfValue(value: Int): Int.containsValue(value: Int?): Boolean->.containsValue(value: Int): Boolean.append(key: Int, value: Int?)->.append(key: Int, value: Int)
الإصدار 1.2.0
الإصدار 1.2.0
1 كانون الأول (ديسمبر) 2021
تم طرح androidx.collection:collection:1.2.0 وandroidx.collection:collection-ktx:1.2.0. يتضمّن الإصدار 1.2.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.1.0
- أضِف أداة إنشاء مصفوفة إلى
ArraySet. (Id7f19) - تعديل
entrySet()ليتوافق مع واجهة برمجة التطبيقات من خلال تنفيذentrySet().toArray()وremove()وremoveAll()وretainAll()، وإزالة تنفيذentrySet().addAll()(I5d505)
الإصدار 1.2.0-rc01
17 نوفمبر 2021
تم طرح androidx.collection:collection:1.2.0-rc01 وandroidx.collection:collection-ktx:1.2.0-rc01. يتضمّن الإصدار 1.2.0-rc01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- لم يتم إجراء أي تغييرات مقارنةً بالإصدار التجريبي السابق.
الإصدار 1.2.0-beta01
13 أكتوبر 2021
تم طرح androidx.collection:collection:1.2.0-beta01 وandroidx.collection:collection-ktx:1.2.0-beta01. يتضمّن الإصدار 1.2.0-beta01 هذه التعديلات.
إصلاح الأخطاء
- تعديل
entrySet()ليتوافق مع واجهة برمجة التطبيقات من خلال تنفيذentrySet().toArray()وremove()وremoveAll()وretainAll()، وإزالة تنفيذentrySet().addAll()(I5d505)
الإصدار 1.2.0-alpha01
16 كانون الأول (ديسمبر) 2020
تم طرح androidx.collection:collection:1.2.0-alpha01 وandroidx.collection:collection-ktx:1.2.0-alpha01. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضِف أداة إنشاء مصفوفة إلى
ArraySet. (Id7f19)
الإصدار 1.1.0
الإصدار 1.1.0
5 يونيو 2019
تم طرح androidx.collection:collection:1.1.0 وandroidx.collection:collection-ktx:1.1.0. يمكنك الاطّلاع على التعديلات في الإصدار 1.1.0 هنا.
في ما يلي ملخّص للتغييرات من الإصدار 1.0.0 إلى الإصدار 1.1.0:
الميزات الجديدة
- استخدام تنفيذ أكثر كفاءة للدالتَين
containsوisNotEmptyفي العنصر collection-ktx (aosp/866529)
تغييرات واجهة برمجة التطبيقات
- إضافة
putIfAbsentإلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772608) - إضافة
getOrDefaultإلىSimpleArrayMap(aosp/772607) - إضافة الدالة
removeذات الوسيطَين إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompatإيقاف إضافات KTX المقابلة لهذه الوظيفة نهائيًا (aosp/772482) - إضافة
replaceذات الوسيطتَين إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772483) - إضافة
replaceبثلاث وسيطات إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772484) - إيقاف استخدام طرق
deleteالمكرّرة تقدّم الطريقةremoveواجهة برمجة التطبيقات والوظائف نفسها، وتتطابق مع واجهة برمجة التطبيقات التي تستخدمها "خرائط Google" غير المتخصّصة. (aosp/866053)
إصلاح الأخطاء
- غيِّر
SimpleArrayMapلمزامنة ذاكرة التخزين المؤقت العامة الداخلية للمصفوفات علىSimpleArrayMap.classبدلاً منArrayMap.class. يضمن ذلك أنّه في حال استخدامSimpleArrayMapفقط، يمكن إزالةArrayMapباستخدام أدوات تصغير الرموز البرمجية. (aosp/934557)
الإصدار 1.1.0-rc01
7 أيار (مايو) 2019
تم طرح androidx.collection:collection:1.1.0-rc01 وandroidx.collection:collection-ktx:1.1.0-rc01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الميزات الجديدة
- استخدام تنفيذ أكثر كفاءة للدالتَين
containsوisNotEmptyفي العنصر collection-ktx (aosp/866529)
الإصدار 1.1.0-beta01
3 أبريل 2019
تم طرح androidx.collection:collection:1.1.0-beta01 وandroidx.collection:collection-ktx:1.1.0-beta01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة الطريقة المذكورة في ملاحظات الإصدار alpha03 والتي تم تغيير قيمة
@RestrictToالخاصة بها. لم يتم استخدامها في أي مكتبة AndroidX (سواء حاليًا أو في السابق)، ولم تقدّم أي وظائف غير متوفّرة في واجهة برمجة التطبيقات العامة.
إصلاح الأخطاء
- غيِّر
SimpleArrayMapلمزامنة ذاكرة التخزين المؤقت العامة الداخلية للمصفوفات علىSimpleArrayMap.classبدلاً منArrayMap.class. يضمن ذلك أنّه في حال استخدامSimpleArrayMapفقط، يمكن إزالةArrayMapباستخدام أدوات تصغير الرموز البرمجية. (aosp/934557)
الإصدار 1.1.0-alpha03
13 مارس 2019
تم طرح androidx.collection:collection:1.0.0-alpha03 وandroidx.collection:collection-ktx:1.0.0-alpha03.
يمكنك الاطّلاع على القائمة الكاملة للتعديلات في هذا الإصدار هنا.
تغييرات واجهة برمجة التطبيقات
- تم تغيير طريقة
ArraySetالتي تم وضع علامة@RestrictTo(LIBRARY_GROUP)عليها سابقًا إلى@RestrictTo(LIBRARY_GROUP_PREFIX). ويتم ذلك لتوفير إمكانية الاستخدام السابق من خلال مكتبات AndroidX الأخرى التي أصبحت الآن تتضمّن معرّفات مجموعات Maven مختلفة. سيتم إتاحة هذه الطريقة للجميع أو إزالتها في الإصدار 1.1.0-alpha04، لأنّه يجب ألا تحصل مكتبات AndroidX الأخرى على واجهات برمجة تطبيقات خاصة لا تتوفّر للمطوّرين الآخرين.
الإصدار 1.1.0-alpha02
30 يناير 2019
تم طرح androidx.collection:collection 1.1.0-alpha02 وandroidx.collection:collection-ktx 1.1.0-alpha02.
تغييرات واجهة برمجة التطبيقات
- إيقاف استخدام طرق
deleteالمكرّرة توفّر طرقremoveواجهة برمجة التطبيقات والوظائف نفسها، وتتطابق مع واجهة برمجة التطبيقات المستخدَمة في "خرائط Google" غير المتخصّصة. (aosp/866053)
الإصدار 1.1.0-alpha01
3 كانون الأول (ديسمبر) 2018
تغييرات واجهة برمجة التطبيقات
- إضافة
putIfAbsentإلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772608) - إضافة
getOrDefaultإلىSimpleArrayMap(aosp/772607) - إضافة الدالة
removeذات الوسيطَين إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompatإيقاف إضافات KTX المقابلة لهذه الوظيفة نهائيًا (aosp/772482) - إضافة
replaceذات الوسيطتَين إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772483) - إضافة
replaceبثلاث وسيطات إلىLongSparseArrayوSimpleArrayMapوSparseArrayCompat(aosp/772484)