النشاط
| آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
|---|---|---|---|---|
| 22 أكتوبر 2025 | 1.11.0 | - | 1.12.0-beta01 | - |
تحديد الاعتماديات
لإضافة اعتمادية على Activity، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { def activity_version = "1.11.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.11.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.12
الإصدار 1.12.0-beta01
22 أكتوبر 2025
تم إصدار androidx.activity:activity:1.12.0-beta01 وandroidx.activity:activity-compose:1.12.0-beta01 وandroidx.activity:activity-ktx:1.12.0-beta01. يتضمّن الإصدار 1.12.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- إطلاق واجهة برمجة التطبيقات التجريبية
ActivityFlagsلإدارة تغييرات سلوك وقت التشغيل وعمليات نقل البيانات يتيح الخيار الأول ترتيبًا ثابتًا لـOnBackPressedCallback، ما يجعل التنقّل للخلف أكثر قابلية للتوقّع عند حدوث تغييرات في مراحل النشاط. يمكن للمطوّرين إيقاف هذه الميزة من خلال ضبطActivityFlags.isOnBackPressedLifecycleOrderMaintained = false. (I06bdf وId08bb وI439aa وb/422730945 وb/450533622)
تحديث الاعتماديات
- تعديل تبعيات دورة الحياة إلى الإصدار 2.9.4 (Ic9fb2)
الإصدار 1.12.0-alpha09
24 سبتمبر 2025
تم إصدار androidx.activity:activity:1.12.0-alpha09 وandroidx.activity:activity-compose:1.12.0-alpha09 وandroidx.activity:activity-ktx:1.12.0-alpha09. يتضمّن الإصدار 1.12.0-alpha09 هذه التعديلات.
التغييرات في الاعتماديات
- يعتمد النشاط الآن على Navigation Event 1.0.0-alpha08.
الإصدار 1.12.0-alpha08
10 سبتمبر 2025
تم إصدار androidx.activity:activity:1.12.0-alpha08 وandroidx.activity:activity-compose:1.12.0-alpha08 وandroidx.activity:activity-ktx:1.12.0-alpha08. يتضمّن الإصدار 1.12.0-alpha08 هذه التعديلات.
تحديث الاعتماديات
- يعتمد النشاط الآن على Navigation Event 1.0.0-alpha08.
الإصدار 1.12.0-alpha07
27 أغسطس 2025
تم إصدار androidx.activity:activity:1.12.0-alpha07 وandroidx.activity:activity-compose:1.12.0-alpha07 وandroidx.activity:activity-ktx:1.12.0-alpha07. يتضمّن الإصدار 1.12.0-alpha07 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة في
EdgeToEdgeعلى واجهة برمجة التطبيقات 35، حيث تسبّبت طرق العرض غير المرئية في إدراج قياسات غير متوقّعة. (If49ff)
تحديث الاعتماديات
- يعتمد النشاط الآن على حدث التنقّل
1.0.0-alpha07.
الإصدار 1.12.0-alpha06
13 أغسطس 2025
تم إصدار androidx.activity:activity:1.12.0-alpha06 وandroidx.activity:activity-compose:1.12.0-alpha06 وandroidx.activity:activity-ktx:1.12.0-alpha06. يتضمّن الإصدار 1.12.0-alpha06 هذه التعديلات.
تعديل MinSdk
- تم نقل القيمة التلقائية
minSdkلـ AndroidX من الإصدار 21 من واجهة برمجة التطبيقات إلى الإصدار 23 (Ibdfca، b/380448311، b/435705964، b/435705223)
تعديلات على المستندات
- تم تعديل مستندات KDocs الخاصة بـ
PredictiveBackHandlerلتسليط الضوء على مشكلة معروفة في التوقيت، حيث قد تتم معالجة إيماءة في الإطار نفسه الذي تم فيه إيقافها. (I5be5c، b/431534103) - تم تعديل مستندات KDoc الخاصة بالرمزين
BackHandlerوPredictiveBackHandlerلتوضيح سلوك "الأولوية للأحدث" بالإضافة إلى اقتراح استخدام التركيب غير المشروط مع العلامةenabled. (I7ab94)
تحديث الاعتمادية
- يعتمد النشاط الآن على حدث التنقّل
1.0.0-alpha06.
الإصدار 1.12.0-alpha05
30 يوليو 2025
تم إصدار androidx.activity:activity:1.12.0-alpha05 وandroidx.activity:activity-compose:1.12.0-alpha05 وandroidx.activity:activity-ktx:1.12.0-alpha05. يتضمّن الإصدار 1.12.0-alpha05 هذه التعديلات.
تحديث الاعتماديات
- يعتمد النشاط الآن على حدث التنقّل
1.0.0-alpha05.
الإصدار 1.12.0-alpha04
2 يوليو 2022
تم إصدار androidx.activity:activity:1.12.0-alpha04 وandroidx.activity:activity-compose:1.12.0-alpha04 وandroidx.activity:activity-ktx:1.12.0-alpha04. يتضمّن الإصدار 1.12.0-alpha04 هذه التعديلات.
التغييرات في الاعتماديات
- يعتمد النشاط الآن على NavigationEvent Alpha04
الإصدار 1.12.0-alpha03
18 يونيو 2025
تم إصدار androidx.activity:activity:1.12.0-alpha03 وandroidx.activity:activity-compose:1.12.0-alpha03 وandroidx.activity:activity-ktx:1.12.0-alpha03. يتضمّن الإصدار 1.12.0-alpha03 هذه التعديلات.
إصلاح الأخطاء
يتم الآن تهيئة كل من
OnBackPressedDispatcherوNavigationEventDispatcherبشكل غير مباشر فيComponentActivity. (I710e6)تم إصلاح المشاكل في
OnBackPressedDistpatcherالتي كانت تؤدي إلى ما يلي:- سيتم إعلام آخر أداة إرسال تمّت إضافتها إلى
OnBackPressedCallbackبحالة التفعيل (b/418715930) - تزيل
OnBackPressedDispatcherدالة رد الاتصال غير الصحيحة عند استخدام الدالةaddCallbackالتي تتضمّن دورة حياة. (b/422714753) - لا يؤدي
OnBackPressedDispatcher.remove()إلى إزالة جميع مثيلاتOnBackPressedCallbackمسجَّلة. (b/423024414)
- سيتم إعلام آخر أداة إرسال تمّت إضافتها إلى
الإصدار 1.12.0-alpha02
4 يونيو 2025
تم إصدار androidx.activity:activity:1.12.0-alpha02 وandroidx.activity:activity-compose:1.12.0-alpha02 وandroidx.activity:activity-ktx:1.12.0-alpha02. يتضمّن الإصدار 1.12.0-alpha02 هذه التعديلات.
إصلاح الأخطاء
- من NavigationEvent
1.0.0-alpha02: تم إصلاحConcurrentModificationExceptionكان من المحتمل أن يحدث عند استدعاءNavigationEventCallback.remove()بسبب تعديل القائمة الداخلية للعناصر القابلة للإغلاق في الوقت نفسه. (I63066)
الإصدار 1.12.0-alpha01
20 مايو 2025
تم إصدار androidx.activity:activity:1.12.0-alpha01 وandroidx.activity:activity-compose:1.12.0-alpha01 وandroidx.activity:activity-ktx:1.12.0-alpha01. يتضمّن الإصدار 1.12.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تم دمج
ComponentActivityوComponentDialogمع NavigationEvent1.0.0-alpha01من خلال واجهة برمجة التطبيقاتNavigationEventDispatcherOwner. يمكنك الآن استردادNavigationEventDispatcherمنComponentActivityمن خلال الحقلnavigationEventDispatcher. بما أنّه تمت إعادة كتابةOnBackPressedDispatcherفوق المكتبة الجديدة، من المفترض أن تستمر جميع الاستخدامات السابقة في العمل بشكل صحيح. يجب استخدامNavigationEventDispatcherوNavigationEventCallbackمن الآن فصاعدًا. (Ib8eed وI6cc44 وIb7724 وI9a0f7 وb/412597031 وb/415028038 وb/412596729 وb/412597140 وb/412596012)
الإصدار 1.11
الإصدار 1.11.0
10 سبتمبر 2025
تم إصدار androidx.activity:activity:1.11.0 وandroidx.activity:activity-compose:1.11.0 وandroidx.activity:activity-ktx:1.11.0. يتضمّن الإصدار 1.11.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.10.0:
- تمت إضافة واجهة برمجة التطبيقات
MediaCapabilitiesإلىPickVisualMediaRequestللسماح للتطبيقات بتحديد إمكانات الوسائط، مثل أنواع HDR المتوافقة. - يتم الآن تجميع النشاط باستخدام الإصدار 36 من واجهة برمجة التطبيقات.
الإصدار 1.11.0-rc01
23 أبريل 2025
تم إصدار androidx.activity:activity:1.11.0-rc01 وandroidx.activity:activity-compose:1.11.0-rc01 وandroidx.activity:activity-ktx:1.11.0-rc01. يتضمّن الإصدار 1.11.0-rc01 هذه التعديلات.
الإصدار 1.11.0-beta01
9 أبريل 2025
تم إصدار androidx.activity:activity:1.11.0-beta01 وandroidx.activity:activity-compose:1.11.0-beta01 وandroidx.activity:activity-ktx:1.11.0-beta01. يتضمّن الإصدار 1.11.0-beta01 هذه التعديلات.
الإصدار 1.11.0-alpha02
26 مارس 2025
تم إصدار androidx.activity:activity:1.11.0-alpha02 وandroidx.activity:activity-compose:1.11.0-alpha02 وandroidx.activity:activity-ktx:1.11.0-alpha02. يتضمّن الإصدار 1.11.0-alpha02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم دمج
EDGE_NONEوframeTimeMillisالجديدَين من الإصدار التجريبي 03 من Android 16 فيBackEventCompatالذي توفّره وظائفhandleOnBackStartedوhandleOnBackProgressedفيOnBackPressedCallback.
تحديثات الاعتماديات
- يتم الآن تجميع النشاط باستخدام الإصدار 36 من واجهة برمجة التطبيقات. (I510e8، b/301910674)
الإصدار 1.11.0-alpha01
12 مارس 2025
تم إصدار androidx.activity:activity:1.11.0-alpha01 وandroidx.activity:activity-compose:1.11.0-alpha01 وandroidx.activity:activity-ktx:1.11.0-alpha01. يتضمّن الإصدار 1.11.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تمت إضافة واجهة برمجة التطبيقات
MediaCapabilitiesإلىPickVisualMediaRequestللسماح للتطبيقات بتحديد إمكانات الوسائط، مثل أنواع HDR المتوافقة. (Ic3ee7)
الإصدار 1.10
الإصدار 1.10.1
26 فبراير 2025
تم إصدار androidx.activity:activity:1.10.1 وandroidx.activity:activity-compose:1.10.1 وandroidx.activity:activity-ktx:1.10.1. يتضمّن الإصدار 1.10.1 هذه التعديلات.
إصلاح الأخطاء
- يمكن الآن حلّ
ViewTreeOnBackPressedDispatcherOwnersوFullyDrawnReporterOwnersمن خلال العناصر الرئيسية المنفصلة للواجهة، مثلViewOverlay. لمزيد من المعلومات عن عناصر العرض المنفصلة الرئيسية، يُرجى الاطّلاع على ملاحظات الإصدار الأساسية أو المستندات فيViewTree.setViewTreeDisjointParent. (Ie7750)
الإصدار 1.10.0
15 يناير 2025
تم إصدار androidx.activity:activity:1.10.0 وandroidx.activity:activity-compose:1.10.0 وandroidx.activity:activity-ktx:1.10.0. يتضمّن الإصدار 1.10.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.9.0
- يتيح لك
PhotoPickerالآن اختيار الصور بالترتيب واختيار علامة التبويب التي يجب أن تكون مرئية في البداية (إما الألبومات أو الصور). - لم يعُد عقدا
PickVisualMediaوPickMultipleVisualMediaActivity Result اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراءACTION_SYSTEM_FALLBACK_PICK_IMAGESالعام والإضافات ذات الصلة لتوفير تجربة متسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي. LocalActivitycomposition local جديد يوفّرActivityللنطاق الحالي، ما يغني المطوّرين عن الحصول علىActivityمنLocalContext.
الإصدار 1.10.0-rc01
11 ديسمبر 2024
تم إصدار androidx.activity:activity:1.10.0-rc01 وandroidx.activity:activity-compose:1.10.0-rc01 وandroidx.activity:activity-ktx:1.10.0-rc01. يتضمّن الإصدار 1.10.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تؤدي إلى إيقاف معاودة الاتصال على الفور عند تغيير حالة التفعيل أثناء نشاط
PredictiveBackHandler. سيكمل الآن عملية رد الاتصال الحالية بغض النظر عن تغييرات الحالة المفعّلة. (Ib8719)
الإصدار 1.10.0-beta01
13 نوفمبر 2024
تم إصدار androidx.activity:activity:1.10.0-beta01 وandroidx.activity:activity-compose:1.10.0-beta01 وandroidx.activity:activity-ktx:1.10.0-beta01 بدون أي تغييرات منذ آخر إصدار أولي. يتضمّن الإصدار 1.10.0-beta01 هذه التعديلات.
الإصدار 1.10.0-alpha03
30 أكتوبر 2024
تم إصدار androidx.activity:activity:1.10.0-alpha03 وandroidx.activity:activity-compose:1.10.0-alpha03 وandroidx.activity:activity-ktx:1.10.0-alpha03. يتضمّن الإصدار 1.10.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
LocalActivityجديدة خاصة بالمكوّن المحلي توفّرActivityللنطاق الحالي، ما يغني المطوّرين عن الحصول علىActivityمنLocalContext. يتضمّن أيضًا قاعدة lint جديدة تتحقّق من الحالات التي يتم فيها تحويلLocalContextبشكل غير صحيح إلىActivity. (I7746a، b/283009666)
إصلاح الأخطاء
- من النشاط
1.9.3: لن يتم تشغيلPredictiveBackHandlerبعد إيقاف المعالج. سيؤدي ذلك إلى حلّ المشكلة التي يتسبّب فيهاNavHostمن Navigation Compose في عرضIndexOutOfBoundsException. (I3f75e وb/365027664 وb/340202286)
تحديث الاعتماديات
- تعتمد Activity Compose الآن على Compose Runtime 1.7.0 (I7746a وb/283009666)
الإصدار 1.10.0-alpha02
4 سبتمبر 2024
تم إصدار androidx.activity:activity:1.10.0-alpha02 وandroidx.activity:activity-compose:1.10.0-alpha02 وandroidx.activity:activity-ktx:1.10.0-alpha02. يتضمّن الإصدار 1.10.0-alpha02 هذه التعديلات.
التغييرات في السلوك
- لم يعُد عقدا
PickVisualMediaوPickMultipleVisualMediaActivity Result اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراءACTION_SYSTEM_FALLBACK_PICK_IMAGESالعام والإضافات ذات الصلة لتوفير تجربة متسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي. من المفترض ألا يؤثر ذلك في تجربة المستخدم على الأجهزة التي يتوفّر عليها إصدار حديث من "خدمات Google Play". (I3513d)
إصلاح الأخطاء
- تمت إزالة التحديد اليدوي لإمكانية الوصول إلى واجهات برمجة التطبيقات الجديدة في النظام الأساسي لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من "مكوّن Android الإضافي في Gradle" (مثل الإصدار 3.3 من R8) وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من "مكوّن Android الإضافي في Gradle" (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون AGP بالتحديث إلى الإصدار 8.1 أو إصدار أحدث من D8. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (I9496c، b/345472586)
- من النشاط
1.9.2: تم إصلاح مشكلة كانت تتسبّب في استمرار واجهة برمجة التطبيقات Activity ComposePredictiveBackHandlerفي التعامل مع إيماءة الرجوع في النظام على الإطار الذي تم إيقافه، ما قد يؤدي إلى تعامل المكتبات، مثل Navigation Compose، مع الرجوع حتى مع عدم توفّر سجلّ رجوع، ما يؤدي إلى عرضIndexOutOfBoundsException. (Ie3301، b/340202286) - من النشاط
1.9.1: تم إصلاح مشكلة فيPredictiveBackHandlerحيث كان يتعذّر تنفيذonBackPressedمنOnBackPressedDispatcherبعد الرجوع إلى الخلف في النظام. (I5f1f8)
الإصدار 1.10.0-alpha01
26 يونيو 2024
تم إصدار androidx.activity:activity:1.10.0-alpha01 وandroidx.activity:activity-compose:1.10.0-alpha01 وandroidx.activity:activity-ktx:1.10.0-alpha01. تم تطوير هذا الإصدار في فرع داخلي.
الميزات الجديدة
- تمت إضافة إمكانية استخدام ميزات
PhotoPickerالجديدة التي تم طرحها في Android V، بما في ذلك إمكانية اختيار الصور بالترتيب واختيار علامة التبويب التي يجب أن تظهر في البداية (إما الألبومات أو الصور).
الإصدار 1.9
الإصدار 1.9.3
16 أكتوبر 2024
تم إصدار androidx.activity:activity:1.9.3 وandroidx.activity:activity-compose:1.9.3 وandroidx.activity:activity-ktx:1.9.3. يتضمّن الإصدار 1.9.3 هذه التعديلات.
إصلاح الأخطاء
- لن يتم تشغيل
PredictiveBackHandlerبعد إيقاف المعالج. سيؤدي ذلك إلى حلّ المشكلة التي يتسبّب فيهاNavHostمن Navigation Compose في عرضIndexOutOfBoundsException. (I3f75e، b/340202286)
الإصدار 1.9.2
4 سبتمبر 2024
تم إصدار androidx.activity:activity:1.9.2 وandroidx.activity:activity-compose:1.9.2 وandroidx.activity:activity-ktx:1.9.2. يتضمّن الإصدار 1.9.2 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تتسبب في استمرار واجهة برمجة التطبيقات Activity Compose
PredictiveBackHandlerفي التعامل مع إيماءة الرجوع في النظام على الإطار الذي تم إيقافه، ما قد يؤدي إلى تعامل المكتبات، مثل Navigation Compose، مع الرجوع حتى مع عدم توفّر سجلّ رجوع، ما يؤدي إلى عرض الخطأIndexOutOfBoundsException. (Ie3301، b/340202286)
الإصدار 1.9.1
24 يوليو 2024
تم إصدار androidx.activity:activity:1.9.1 وandroidx.activity:activity-compose:1.9.1 وandroidx.activity:activity-ktx:1.9.1. يتضمّن الإصدار 1.9.1 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة في
PredictiveBackHandlerحيث يتعذّر تنفيذonBackPressedمنOnBackPressedDispatcherبعد تنفيذ الرجوع إلى الخلف في النظام. (I5f1f8)
الإصدار 1.9.0
17 أبريل 2024
تم إصدار androidx.activity:activity:1.9.0 وandroidx.activity:activity-compose:1.9.0 وandroidx.activity:activity-ktx:1.9.0. يتضمّن الإصدار 1.9.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.8.0
- تنفّذ السمة
ComponentActivityالآن السمةOnUserLeaveHintProviderللسماح للمكوّنات بتلقّي عمليات ردّ لحدثonUserLeaveHint. - تُصدر واجهات برمجة التطبيقات
OnBackPressedCallbackوBackHandlerوPredictiveBackHandlerالآن تحذيرًا عند استدعاءonBackPressedDispatcher.onBackPressed()أثناء تنفيذ إجراء الرجوع، لأنّ ذلك سيؤدي دائمًا إلى إيقاف الرسوم المتحركة لإيماءة "الرجوع التوقّعي". يمكنك الاطّلاع على دليل أفضل الممارسات لمزيد من التفاصيل. - تمت إعادة كتابة بقية واجهات برمجة التطبيقات الخاصة بالنشاط في Kotlin، وتم نقل جميع الإضافات التي كانت متاحة سابقًا في
activity-ktxإلىactivity. سلة التسوّق منactivity-ktxفارغة تمامًا الآن.- في إطار عملية تحويل
ActivityResultLauncherإلى Kotlin، أصبحت الطريقةgetContractالآن سمة Kotlin مجرّدة. هذا تغيير متوافق مع النظام الثنائي، ولكنّه يؤدي إلى تعذُّر تجميع الرمز البرمجي إذا كان تنفيذActivityResultLauncherمكتوبًا بلغة Kotlin.
- في إطار عملية تحويل
الإصدار 1.9.0-rc01
3 أبريل 2024
تم إصدار androidx.activity:activity:1.9.0-rc01 وandroidx.activity:activity-compose:1.9.0-rc01 وandroidx.activity:activity-ktx:1.9.0-rc01. يتضمّن الإصدار 1.9.0-rc01 هذه التعديلات.
تحديث الاعتمادية
- يعتمد النشاط الآن على Profile Installer 1.3.1.
الإصدار 1.9.0-beta01
20 مارس 2024
تم إصدار androidx.activity:activity:1.9.0-beta01 وandroidx.activity:activity-compose:1.9.0-beta01 وandroidx.activity:activity-ktx:1.9.0-beta01. يتضمّن الإصدار 1.9.0-beta01 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة انخفاض أداء بدء تشغيل النشاط التي تم تقديمها في Activity
1.9.0-alpha02بسبب استدعاءOnBackPressedDispatcherكجزء من إنشاء النشاط. (Ie75e3)
الإصدار 1.9.0-alpha03
7 فبراير 2024
تم إصدار androidx.activity:activity:1.9.0-alpha03 وandroidx.activity:activity-compose:1.9.0-alpha03 وandroidx.activity:activity-ktx:1.9.0-alpha03. يتضمّن الإصدار 1.9.0-alpha03 هذه التعديلات.
تحذير Lint
- تُصدر واجهات برمجة التطبيقات
OnBackPressedCallbackوBackHandlerوPredictiveBackHandlerالآن تحذيرًا عند استدعاءonBackPressedDispatcher.onBackPressed()أثناء تنفيذ إجراء الرجوع، لأنّ ذلك سيؤدي دائمًا إلى إيقاف الرسوم المتحركة لإيماءة "الرجوع التوقّعي". يمكنك الاطّلاع على دليل أفضل الممارسات لمزيد من التفاصيل. (1e4222 و2c950d وb/287505200)
إصلاح الأخطاء
- إذا تم إرسال حدث رجوع من النظام بدأ أثناء تنفيذ "إيماءة الرجوع التوقّعية"، سيتم إلغاء "إيماءة الرجوع التوقّعية" الجارية حاليًا وسيتولّى حدث الرجوع الجديد بدء "إيماءة رجوع توقّعية" جديدة. (I3482e)
- تم إصلاح عُطل عند الوصول إلى
onBackPressedDispatcherمنComponentActivityللمرة الأولى من سلسلة محادثات في الخلفية. يمكنك الآن الوصول إلىonBackPressedDispatcherفي أي سلسلة محادثات بأمان. (I79955)
الإصدار 1.9.0-alpha02
24 يناير 2024
تم إصدار androidx.activity:activity:1.9.0-alpha02 وandroidx.activity:activity-compose:1.9.0-alpha02 وandroidx.activity:activity-ktx:1.9.0-alpha02. يتضمّن الإصدار 1.9.0-alpha02 هذه التعديلات.
Kotlin Conversions
- تمت إعادة كتابة
ActivityResultRegistryبلغة Kotlin. يضمن ذلك أنّه سيتم تمرير إمكانية القيم الخالية للأنواع العامة في العقد الذي تم تمريره إلىregisterبشكل صحيح إلىActivityResultLauncherالتي تم إرجاعها إليك. (I121f0) - تمت إعادة كتابة
ActivityResultبلغة Kotlin. تم نقل إضافات Kotlin الخاصة بـActivityResultالتي تتيح التقسيم إلى الحقلَينresultCodeوdataمنactivity-ktxإلىactivity. (I0565a) - تم نقل إضافات Kotlin الخاصة بـ
by viewModels()لكل منComponentActivityوtrackPipAnimationHintViewمنactivity-ktxإلىactivity. أصبح عنصرactivity-ktxفارغًا تمامًا الآن. (I0a444)
إصلاح الأخطاء
- ترسم واجهة برمجة التطبيقات
enableEdgeToEdgeالآن حول أيّ فتحات عرض. (a3644b، b/311173461) - من النشاط
1.8.2: تم إصلاح البيانات الإضافية التي تم تمريرها إلىACTION_SYSTEM_FALLBACK_PICK_IMAGESفي "عقد نشاط أداة اختيار الصور" لتمريرها بشكل صحيح باستخدام المفتاحEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX، بدلاً من استخدام البيانات الإضافية مع المفتاح"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". ننصح بشدة باستخدام كليهما إذا كنت من مصنّعي المعدات الأصلية الذين ينفّذون أداة احتياطية لاختيار الصور في النظام لضمان التوافق على نطاق واسع. (I96a00)
الإصدار 1.9.0-alpha01
29 نوفمبر 2023
تم إصدار androidx.activity:activity:1.9.0-alpha01 وandroidx.activity:activity-compose:1.9.0-alpha01 وandroidx.activity:activity-ktx:1.9.0-alpha01. يتضمّن الإصدار 1.9.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تنفّذ السمة
ComponentActivityالآن السمةOnUserLeaveHintProviderللسماح للمكوّنات بتلقّي عمليات ردّ لحدثonUserLeaveHint. (I54892)
تغييرات واجهة برمجة التطبيقات
- تمت إعادة كتابة
ComponentActivityبلغة Kotlin. (I14f31) - تمت إعادة كتابة
ActivityResultCallerبلغة Kotlin. (Ib02e4) - تمت إعادة كتابة
ActivityResultLauncherبلغة Kotlin. في إطار عملية التحويل هذه، أصبح الإجراءgetContractالآن سمة Kotlin مجرّدة. هذا تغيير متوافق مع النظام الثنائي، ولكنّه يؤدي إلى تعذُّر تجميع الرمز البرمجي إذا كان تنفيذActivityResultLauncherمكتوبًا بلغة Kotlin. (Id4615) - يستهدف
PickVisualMediaRequestالآن المستوى 19 من واجهة برمجة التطبيقات كحدّ أدنى، وهو المستوى نفسه الذي يستهدفه عقدPickVisualMediaActivity Result. (Id6e21)
تحديث الاعتماديات
- يعتمد النشاط الآن على Core
1.13.0-alpha01. (I14f31)
الإصدار 1.8
الإصدار 1.8.2
13 كانون الأول (ديسمبر) 2023
تم إصدار androidx.activity:activity:1.8.2 وandroidx.activity:activity-compose:1.8.2 وandroidx.activity:activity-ktx:1.8.2. يتضمّن الإصدار 1.8.2 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح البيانات الإضافية التي تم تمريرها إلى
ACTION_SYSTEM_FALLBACK_PICK_IMAGESفي "عقد نشاط أداة اختيار الصور" لتمرير المفتاحEXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAXإليها بشكل صحيح، بدلاً من استخدام البيانات الإضافية مع المفتاح"com.google.android.gms.provider.extra.PICK_IMAGES_MAX". ننصح بشدة باستخدام كليهما إذا كنت من مصنّعي المعدات الأصلية الذين ينفّذون أداة احتياطية لاختيار الصور في النظام لضمان التوافق على نطاق واسع. (I96a00)
الإصدار 1.8.1
15 تشرين الثاني (نوفمبر) 2023
تم إصدار androidx.activity:activity:1.8.1 وandroidx.activity:activity-compose:1.8.1 وandroidx.activity:activity-ktx:1.8.1. يتضمّن الإصدار 1.8.1 هذه التعديلات.
إصلاح الأخطاء
- تواصل
OnBackPressedDispatcherالآن إرسال البيانات إلىOnBackPressedCallbackالصحيح حتى بعد إضافةOnBackPressedCallbackجديد أثناء معالجة الإيماءة السابقة. (Id0ff6)
الإصدار 1.8.0
4 أكتوبر 2023
تم إصدار androidx.activity:activity:1.8.0 وandroidx.activity:activity-compose:1.8.0 وandroidx.activity:activity-ktx:1.8.0. يتضمّن الإصدار 1.8.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.7.0
- إيماءة إظهار شاشة الرجوع: يوفّر
OnBackPressedCallbackالآن عمليات ردّ اتصال جديدة خاصة بميزة "إيماءة إظهار شاشة الرجوع" للتعامل مع بدء إيماءة الرجوع والتقدّم خلال الإيماءة وإلغاء إيماءة الرجوع، بالإضافة إلى عملية ردّ الاتصال السابقةhandleOnBackPressed()التي يتم تنفيذها عند تأكيد إيماءة الرجوع. يتضمّن ذلك أيضًاPredictiveBackHandlerComposable للتعامل مع أحداث إيماءة الرجوع التوقّعية في Activity Compose. يوفّر هذا الإجراء مجموعة من عناصر BackEventCompat التي يجب جمعها في دالة lambda المعلقة التي تقدّمها:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
تم الآن إيقاف ComponentActivity.onBackPressed() نهائيًا واستبداله بواجهات برمجة التطبيقات المخصّصة للتعامل مع الرجوع. على المطوّرين الآن استخدام OnBackPressedDispatcher بدلاً من إلغاء هذه الطريقة.
- EdgeToEdge: تمت إضافة
ComponentActivity.enableEdgeToEdge()لتسهيل إعداد العرض من الحافة إلى الحافة بطريقة متوافقة مع الإصدارات القديمة.
الإصدار 1.8.0-rc01
20 سبتمبر 2023
تم إصدار androidx.activity:activity:1.8.0-rc01 وandroidx.activity:activity-compose:1.8.0-rc01 وandroidx.activity:activity-ktx:1.8.0-rc01. يتضمّن الإصدار 1.8.0-rc01 هذه التعديلات.
الإصدار 1.8.0-beta01
6 سبتمبر 2023
تم إصدار androidx.activity:activity:1.8.0-beta01 وandroidx.activity:activity-compose:1.8.0-beta01 وandroidx.activity:activity-ktx:1.8.0-beta01. يتضمّن الإصدار 1.8.0-beta01 هذه التعديلات.
تحسين المستندات
- تم تحسين مستندات
BackEventCompat. (aosp/2722254)
الإصدار 1.8.0-alpha07
23 أغسطس 2023
تم إصدار androidx.activity:activity:1.8.0-alpha07 وandroidx.activity:activity-compose:1.8.0-alpha07 وandroidx.activity:activity-ktx:1.8.0-alpha07. يتضمّن الإصدار 1.8.0-alpha07 هذه التعديلات.
الميزات الجديدة
أضافت Activity Compose
PredictiveBackHandlerقابلاً للإنشاء جديدًا للتعامل مع أحداث إيماءة الرجوع التوقّعية. توفّر هذه السمةFlowمن عناصرBackEventCompatالتي يجب جمعها في دالة lambda المعلقة التي تقدّمها:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }ويأتي أيضًا مع تحذير في وقت الترجمة البرمجية من خلال قاعدة lint لضمان تنفيذ طلبات
Flowcollect(). (Id2773، b/294884345)تم الآن تهيئة
onBackPressedDispatcherفيComponentActivityبشكل غير مباشر، وبالتالي لا يتم إنشاؤه إلا عند الحاجة. (I0bf8e)
إصلاح الأخطاء
- لن يعرض
ComponentActivityخطأ NPE على نظام التشغيل Android 13 عندما يتلقّى ردّ اتصالonBackPressed()وتمّتDESTROYED"الحزمة" من قبل. (Idb055، b/291869278) - تمت إزالة استخدامات واجهة برمجة التطبيقات التجريبية
isAtLeastU()(Ie9117، b/289269026)
الإصدار 1.8.0-alpha06
21 حزيران (يونيو) 2023
تم إصدار androidx.activity:activity:1.8.0-alpha06 وandroidx.activity:activity-compose:1.8.0-alpha06 وandroidx.activity:activity-ktx:1.8.0-alpha06. يتضمّن الإصدار 1.8.0-alpha06 هذه التعديلات.
الميزات الجديدة
- يعمل
OnBackPressedDispatcherالآن على إلغاء أي عمليات ردّ يتم إزالتها أثناء استخدام ميزة "الرجوع التوقعي" بشكل صحيح. (I3f90f)
تغييرات واجهة برمجة التطبيقات
- عند تمرير
SystemBarStyle.autoإلى واجهة برمجة التطبيقاتenableEdgeToEdge، يمكنك الآن تجاهل مَعلمة lambdadetectDarkModeلتوفير منطق مخصّص لرصد الوضع الداكن. (aosp/2546393 وb/278263793)
الإصدار 1.8.0-alpha05
7 يونيو 2023
تم إصدار androidx.activity:activity:1.8.0-alpha05 وandroidx.activity:activity-compose:1.8.0-alpha05 وandroidx.activity:activity-ktx:1.8.0-alpha05. تم تطوير هذا الإصدار في فرع داخلي.
تغييرات واجهة برمجة التطبيقات
- توفّر Activity الآن فئة
BackEventCompatتعمل كإصدار متوافق مع الإصدارات القديمة منBackEvent، وهو إصدار منفصل عن فئةBackEventفي إطار العمل. - تغيير غير متوافق: تتلقّى الطريقتان
handleOnBackStartedوhandleOnBackProgressedفيOnBackPressedCallbackالآن مثيلاً منandroidx.activity.BackEventCompatبدلاً من فئةandroid.window.BackEventفي إطار العمل. تم أيضًا تعديل واجهات برمجة التطبيقات المكافئة@VisibleForTestingعلىOnBackPressedDispatcher. - تتلقّى الدالة الإنشائية
OnBackPressedDispatcherالآن مثيلاً اختياريًا منConsumer<Boolean>يتيح لمالكي أداة إرسال البيانات تلقّي استدعاء كلما تغيّر عدد عمليات الاستدعاء المفعَّلة من صفر إلى قيمة غير صفرية أو العكس.
إصلاح الأخطاء
- من النشاط
1.7.2: تم إصلاح الخطأ الذي يؤدي إلى تعطُّلReportDrawnعند الانتقال من شاشة قبل استدعاءreport. (Ic46f1، b/260506820)
الإصدار 1.8.0-alpha04
10 مايو 2023
تم إصدار androidx.activity:activity:1.8.0-alpha04 وandroidx.activity:activity-compose:1.8.0-alpha04 وandroidx.activity:activity-ktx:1.8.0-alpha04. تم إصدار هذا التحديث من فرع داخلي.
إصلاح الأخطاء
- من الإصدار 1.7.1 من Activity: - لم يعُد
ReportFullyDrawExecuterيتسرّب عند استخدامComponentActivityمعActivityScenario. (Id2ff2، b/277434271)
الإصدار 1.8.0-alpha03
12 أبريل 2023
تم إصدار androidx.activity:activity:1.8.0-alpha03 وandroidx.activity:activity-compose:1.8.0-alpha03 وandroidx.activity:activity-ktx:1.8.0-alpha03. تم إصدار هذا التحديث من فرع داخلي.
الميزات الجديدة
- تمت إضافة
ComponentActivity.setUpEdgeToEdge()لتسهيل إعداد العرض من الحافة إلى الحافة بطريقة متوافقة مع الإصدارات القديمة.
تغييرات واجهة برمجة التطبيقات
- تم الآن إيقاف
ComponentActivity.onBackPressed()نهائيًا واستبداله بواجهات برمجة التطبيقات المخصّصة للتعامل مع الرجوع. على المطوّرين الآن استخدامOnBackPressedDispatcherبدلاً من إلغاء هذه الطريقة. (Ibce2f، b/271596918) - يحتوي
ComponentDialogوComponentActivityالآن على واجهة برمجة تطبيقات عامةinitViewTreeOwners()يمكن استخدامها لتهيئة جميع مالكي شجرة العرض قبل ضبط عرض المحتوى. (Ibdce0، b/261314581)
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تؤدي إلى إبطال صحة MenuHost بشكل غير صحيح وتتسبب في سلوك غير متوقّع للقوائم الأخرى في النشاط. (I9404e، b/244336571)
التغييرات الأخرى
- يستخدم
ActivityResultRegisterالآنRandomمن Kotlin بدلاً من Java. (I4d98f، b/272096025)
الإصدار 1.8.0-alpha02
8 مارس 2023
تم إصدار androidx.activity:activity:1.8.0-alpha02 وandroidx.activity:activity-compose:1.8.0-alpha02 وandroidx.activity:activity-ktx:1.8.0-alpha02. تم تطويره من فرع داخلي.
تحديث الاعتمادية
- من النشاط
1.7.0-rc01: يعتمد النشاط الآن علىLifecycle 2.6.0.
الإصدار 1.8.0-alpha01
8 شباط (فبراير) 2023
تم إصدار androidx.activity:activity:1.8.0-alpha01 وandroidx.activity:activity-compose:1.8.0-alpha01 وandroidx.activity:activity-ktx:1.8.0-alpha01. تم إنشاء هذا الإصدار من فرع داخلي.
الميزات الجديدة
- يحتوي الصف
OnBackPressedCallbackالآن على عمليات معاودة الاتصال الجديدة بشأن تقدّم ميزة "إيماءة إظهار شاشة الرجوع" للتعامل مع بدء إيماءة الرجوع والتقدّم خلال الإيماءة وإلغاء إيماءة الرجوع، بالإضافة إلى عملية معاودة الاتصال السابقةhandleOnBackPressed()عند تنفيذ إيماءة الرجوع.
الإصدار 1.7
الإصدار 1.7.2
24 مايو 2023
تم إصدار androidx.activity:activity:1.7.2 وandroidx.activity:activity-compose:1.7.2 وandroidx.activity:activity-ktx:1.7.2. يتضمّن الإصدار 1.7.2 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح الخطأ
ReportDrawnالذي يحدث عند الانتقال من شاشة قبل استدعاءreport. (Ic46f1، b/260506820)
الإصدار 1.7.1
19 أبريل 2023
تم إصدار androidx.activity:activity:1.7.1 وandroidx.activity:activity-compose:1.7.1 وandroidx.activity:activity-ktx:1.7.1. يتضمّن الإصدار 1.7.1 هذه التعديلات.
إصلاح الأخطاء
- لم يعُد
ReportFullyDrawExecuterيتسرّب عند استخدامComponentActivityمعActivityScenario. (Id2ff2، b/277434271)
الإصدار 1.7.0
22 مارس 2023
تم إصدار androidx.activity:activity:1.7.0 وandroidx.activity:activity-compose:1.7.0 وandroidx.activity:activity-ktx:1.7.0. يتضمّن الإصدار 1.7.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.6.0
- تم تعديل عقود نشاط "أداة اختيار الصور" في الإصدارَين
PickVisualMediaوPickMultipleVisualMediaلتتضمّن خيارًا احتياطيًا إضافيًا في حال عدم توفّرMediaStore.ACTION_PICK_IMAGES، ما يتيح لمصنّعي المعدات الأصلية وتطبيقات النظام، مثل "خدمات Google Play"، تقديم تجربة متسقة لاستخدام "أداة اختيار الصور" على مجموعة أكبر من أجهزة Android ومستويات واجهة برمجة التطبيقات من خلال تنفيذ الإجراء الاحتياطي. سيستخدم "أداة اختيار الصور" هذا الخيار الاحتياطي إذا كان متاحًا قبل الرجوع إلى استخدامIntent.ACTION_OPEN_DOCUMENT، الذي يظل متوافقًا مع جميع الأجهزة التي تعمل بالإصدار 19 من واجهة برمجة التطبيقات أو الإصدارات الأحدث. - تنفّذ
ComponentDialogالآنSavedStateRegistryOwnerويمكنها الوصول إلىSavedStateRegistryالخاص بها وتضبطSavedStateRegistryOwnerعلىViewTree. يمكن الآن استخدام Jetpack Compose ضِمنComponentDialogلأنّه يستوفي كلاً منLifecycleOwnerوSavedStateRegistryOwnerالمرفقَين بالنافذة من خلال متطلبات واجهات برمجة التطبيقاتViewTree. - تتيح لك
IntentSenderRequest.Builder.setFlags()الآن ضبط علامات متعدّدة منIntent، بدلاً من علامة واحدة فقط.
تحويل Kotlin
تم تحويل عدد من فئات النشاط إلى Kotlin. تحتفظ جميع الفئات المحوَّلة بتوافقها الثنائي مع الإصدارات السابقة. تتضمّن الفئات التالية تغييرات غير متوافقة مع المصدر للفئات المكتوبة بلغة Kotlin: ActivityResultRegistryOwner وOnBackPressedDispatcherOwner.
يقدّم الجدول أدناه الإحالات الناجحة المصدر للإصدار الجديد من "السجلّ":
| النشاط 1.5 | النشاط 1.6 |
|---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
تم أيضًا تحويل هذه الفئات إلى Kotlin، ولكنها تظل متوافقة مع المصدر: ContextAware وContextAwareHelper وOnContextAvailableListener وIntentSenderRequest وOnBackPressedDispatcher
واجهات برمجة التطبيقات FullyDrawnReporter
توفّر السمة ComponentActivity الآن مثيلاً من FullyDrawnReporter يسمح لمكوّنات متعدّدة بالإبلاغ عن جاهزيتها للتفاعل. ستنتظر الدالة ComponentActivity إلى أن تكتمل جميع المكوّنات قبل استدعاء الدالة reportFullyDrawn() نيابةً عنك. تتولّى واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك، ولا يلزم استدعاؤها كجزء من طلب onDraw.
ننصح بتفعيل واجهات برمجة التطبيقات التالية:
- إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال عملية بدء التشغيل، وذلك لضمان تضمين جميع الرموز التي يتم تنفيذها أثناء تسلسل بدء التشغيل المتعدّد اللقطات وتحديد أولويتها في عملية التجميع في الخلفية
- إرسال إشارة إلى Macrobenchmark وPlay Vitals عند اعتبار تطبيقك مرسومًا بالكامل بالنسبة إلى مقاييس بدء التشغيل، ما يتيح لك تتبُّع الأداء
تمت إضافة ثلاث واجهات برمجة تطبيقات Activity Compose لتسهيل استخدام FullyDrawnReporter من عناصر فردية قابلة للإنشاء:
- يشير
ReportDrawnإلى أنّ العنصر القابل للإنشاء جاهز للتفاعل على الفور. - يأخذ
ReportDrawnWhenمسندًا (أيlist.count > 0) للإشارة إلى أنّ العنصر القابل للإنشاء جاهز للتفاعل. - تأخذ
ReportDrawnAfterطريقة تعليق تشير عند اكتمالها إلى أنّك جاهز للتفاعل.
تحديثات الاعتماديات
- يعتمد النشاط الآن على Lifecycle
2.6.1. (8fc31d) - يعتمد النشاط الآن على ProfileInstaller
1.3.0. (83d3b1)
الإصدار 1.7.0-rc01
8 مارس 2023
تم إصدار androidx.activity:activity:1.7.0-rc01 وandroidx.activity:activity-compose:1.7.0-rc01 وandroidx.activity:activity-ktx:1.7.0-rc01. يتضمّن الإصدار 1.7.0-rc01 هذه التعديلات.
تحديث الاعتمادية
- يعتمد النشاط الآن على
Lifecycle 2.6.0.
الإصدار 1.7.0-beta02
22 فبراير 2023
تم إصدار androidx.activity:activity:1.7.0-beta02 وandroidx.activity:activity-compose:1.7.0-beta02 وandroidx.activity:activity-ktx:1.7.0-beta02. يتضمّن الإصدار 1.7.0-beta02 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- إنّ الإجراء والبيانات الإضافية المستخدَمة في عقود
PickVisualMediaوPickMultipleVisualMediaكحلّ احتياطي عندما لا يتوفّرMediaStore.ACTION_PICK_IMAGESهي الآن ثوابت عامة توفّر ثبات واجهة برمجة التطبيقات لمصنّعي المعدات الأصلية وتطبيقات النظام التي تريد توفير تجربة متّسقة في "أداة اختيار الصور". لا يزال استخدام هذا الخيار الاحتياطي مقتصرًا على تطبيقات النظام فقط. (Icd320)
الإصدار 1.7.0-beta01
8 شباط (فبراير) 2023
تم إصدار androidx.activity:activity:1.7.0-beta01 وandroidx.activity:activity-compose:1.7.0-beta01 وandroidx.activity:activity-ktx:1.7.0-beta01. يتضمّن الإصدار 1.7.0-beta01 هذه التعديلات.
الميزات الجديدة
- تتيح لك
IntentSenderRequest.Builder.setFlags()الآن ضبط علامات متعدّدة منIntent، بدلاً من علامة واحدة فقط. (Iac04c)
إصلاح الأخطاء
- يقتصر الآن استخدام
PickVisualMediaفي حال عدم توفّر إطار عمل "أداة اختيار الصور" على التطبيقات المثبَّتة في صورة نظام الجهاز. (If8ae6)
Kotlin Conversions
- تمت إعادة كتابة
ActivityResultRegistryOwnerبلغة Kotlin. هذا تغيير غير متوافق مع المصدر للفئات المكتوبة بلغة Kotlin، ويجب الآن إلغاء الخاصيةactivityResultRegistryبدلاً من تنفيذ الدالةgetActivityResultRegistry()السابقة. (I0b00e) - تمت إعادة كتابة
OnBackPressedDispatcherOwnerبلغة Kotlin. هذا تغيير غير متوافق مع المصدر للفئات المكتوبة بلغة Kotlin، ويجب الآن إلغاء الخاصيةonBackPressedDispatcherبدلاً من تنفيذ الدالةgetOnBackPressedDispatcherالسابقة. (Ia277d) - تمت إعادة كتابة
ContextAwareوContextAwareHelperوOnContextAvailableListenerوIntentSenderRequestوOnBackPressedDispatcherبلغة Kotlin. (I1a73e وIada92 وaosp/2410754 وI18ac7 وb/257291701)
الإصدار 1.7.0-alpha04
25 كانون الثاني (يناير) 2023
تم إصدار androidx.activity:activity:1.7.0-alpha04 وandroidx.activity:activity-compose:1.7.0-alpha04 وandroidx.activity:activity-ktx:1.7.0-alpha04. يتضمّن الإصدار 1.7.0-alpha04 هذه التعديلات.
الميزات الجديدة
- سيستخدم عقدا
PickVisualMediaوPickMultipleVisualMediaلنتائج الأنشطة الآن أداة اختيار الصور التي توفّرها "خدمات Google Play" حيثما كان ذلك متاحًا في الحالات التي توفّر فيها أداة اختيار الصور في نظام التشغيل Android (مثلMediaStore.ACTION_PICK_IMAGES) غير متوفّرة. تم إيقاف واجهة برمجة التطبيقاتisPhotoPickerAvailable()نهائيًا، وهي واجهة برمجة تطبيقات ترصد فقط أداة اختيار الصور التي يوفّرها نظام التشغيل Android. يُنصح باستخدام واجهة برمجة التطبيقات الجديدةisPhotoPickerAvailable(Context)التي ستعرض ما إذا كان تطبيق Photo Picker متاحًا. (I55be6)
الإصدار 1.7.0-alpha03
11 يناير 2023
تم إصدار androidx.activity:activity:1.7.0-alpha03 وandroidx.activity:activity-compose:1.7.0-alpha03 وandroidx.activity:activity-ktx:1.7.0-alpha03. يتضمّن الإصدار 1.7.0-alpha03 هذه التعديلات.
الميزات الجديدة
- تستخدم
ComponentDialogالآنSavedStateRegistryOwnerويمكنها الوصول إلىSavedStateRegistryالخاص بها وتضبطSavedStateRegistryOwnerلـ ViewTree. يمكن الآن استخدام Jetpack Compose ضِمنComponentDialogلأنّه يستوفي متطلباتLifecycleOwnerوSavedStateRegistryOwnerالمرفقة بالنافذة من خلال واجهات برمجة التطبيقات ViewTree. (Idca17، I73468 b/261162296)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
ReportDrawnعنصر قابل للإنشاء يشير على الفور إلى أنّ النشاط جاهز لإجراء مكالمةreportFullyDrawn. (Ic5b14، b/259687964)
Kotlin Conversions
- تم تحويل الفئتين
ActvitiyResultCallbackوOnBackPressedCallbackإلى Kotlin مع الحفاظ على التوافق مع المصدر والتوافق الثنائي. (Ifc5e5 وIde1b0 وb/257291701)
الإصدار 1.7.0-alpha02
24 أكتوبر 2022
تم إصدار androidx.activity:activity:1.7.0-alpha02 وandroidx.activity:activity-compose:1.7.0-alpha02 وandroidx.activity:activity-ktx:1.7.0-alpha02. يتضمّن الإصدار 1.7.0-alpha02 هذه التعديلات.
إصلاح الأخطاء
- من النشاط
1.6.1: تم إصلاح مشكلة عدم إطلاق عقدPickMultipleVisualMediaActivity Result على أجهزة Android R عند استخدام القيمة التلقائية لـmaxItems. (Ie2776، b/249182130)
الإصدار 1.7.0-alpha01
5 أكتوبر 2022
تم إصدار androidx.activity:activity:1.7.0-alpha01 وandroidx.activity:activity-compose:1.7.0-alpha01 وandroidx.activity:activity-ktx:1.7.0-alpha01. يتضمّن الإصدار 1.7.0-alpha01 هذه التعديلات.
واجهات برمجة التطبيقات FullyDrawnReporter
توفّر السمة ComponentActivity الآن مثيلاً من FullyDrawnReporter يسمح لمكوّنات متعدّدة بالإبلاغ عن جاهزيتها للتفاعل. ستنتظر الدالة ComponentActivity إلى أن تكتمل جميع المكوّنات قبل استدعاء الدالة reportFullyDrawn() نيابةً عنك. تتولّى واجهات برمجة التطبيقات هذه متطلبات التوقيت نيابةً عنك، ولا يلزم استدعاؤها كجزء من طلب onDraw.
ننصح بتفعيل واجهات برمجة التطبيقات التالية:
- إرسال إشارة إلى "وقت تشغيل Android" عند اكتمال عملية بدء التشغيل، وذلك لضمان تضمين جميع الرموز التي يتم تنفيذها أثناء تسلسل بدء التشغيل المتعدّد اللقطات وتحديد أولويتها في عملية التجميع في الخلفية
- إرسال إشارة إلى Macrobenchmark وPlay Vitals عند اعتبار تطبيقك مرسومًا بالكامل بالنسبة إلى مقاييس بدء التشغيل، ما يتيح لك تتبُّع الأداء
تمت إضافة واجهتَي برمجة تطبيقات Activity Compose لتسهيل استخدام FullyDrawnReporter من العناصر القابلة للإنشاء الفردية:
- يأخذ
ReportDrawnWhenمسندًا (أيlist.count > 0) للإشارة إلى أنّ العنصر القابل للإنشاء جاهز للتفاعل. - تأخذ
ReportDrawnAfterطريقة تعليق تشير عند اكتمالها إلى أنّك جاهز للتفاعل.
الإصدار 1.6.1
الإصدار 1.6.1
24 أكتوبر 2022
تم إصدار androidx.activity:activity:1.6.1 وandroidx.activity:activity-compose:1.6.1 وandroidx.activity:activity-ktx:1.6.1. يتضمّن الإصدار 1.6.1 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة عدم إطلاق عقد
PickMultipleVisualMediaActivity Result على أجهزة Android R عند استخدام القيمة التلقائية لـmaxItems. (Ie2776، b/249182130)
الإصدار 1.6.0
الإصدار 1.6.0
21 سبتمبر 2022
تم إصدار androidx.activity:activity:1.6.0 وandroidx.activity:activity-compose:1.6.0 وandroidx.activity:activity-ktx:1.6.0. يتضمّن الإصدار 1.6.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.5.0
- تمت إضافة
ActivityResultContracts.PickVisualMediaوActivityResultContracts.PickMultipleVisualMediaلتوفير عقد متوافق مع الإصدارات القديمة يستخدمMediaStore.ACTION_PICK_IMAGESعندما تكون أداة اختيار الصور متاحة وIntent.ACTION_OPEN_DOCUMENTعندما لا تكون متاحة. - تم دمج
OnBackInvokedCallbackفي الإصدار 13 من نظام التشغيل Android معOnBackPressedDispatchersالمقدَّم منComponentActivityوComponentDialog. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلىOnBackPressedDispatcherعند تفعيل إيماءة الرجوع التوقّعية.
الإصدار 1.6.0-rc02
7 أيلول (سبتمبر) 2022
تم إصدار androidx.activity:activity:1.6.0-rc02 وandroidx.activity:activity-compose:1.6.0-rc02 وandroidx.activity:activity-ktx:1.6.0-rc02. يتضمّن الإصدار 1.6.0-rc02 هذه التعديلات.
إصلاح الأخطاء
- يسجّل
OnBackPressedDispatcherالآنOnBackInvokedCallbackباستخدامPRIORITY_DEFAULTبدلاً منPRIORITY_OVERLAY. (I3901f) - سيتم الآن دائمًا إرسال كلتا وظيفتَي رد الاتصال
onMultiWindowModeChanged()في الصفوف التي تمتد إلىComponentActivity. (Ic4d85) - لن تعرض
ActivityResultRegistryأي نتيجة لـActivityResultCallbackعندما يعرض طلبlaunchأيExceptionوتم تسجيل برنامج معالجة بدونLifecycleOwner. (Ia7ff7، b/238350794) - سترسل
ComponentActivityالآن طلبات القائمة بشكل صحيح بدون الحاجة إلى طلب الدالة الفائقة في نشاطك. (Ie33c5، b/238057118)
تحديث الاعتماديات
- تعتمد مكتبة
Activityالآن على Lifecycle2.5.1. (If6697)
الإصدار 1.6.0-rc01
24 أغسطس 2022
تم إصدار androidx.activity:activity:1.6.0-rc01 وandroidx.activity:activity-compose:1.6.0-rc01 وandroidx.activity:activity-ktx:1.6.0-rc01. يتضمّن الإصدار 1.6.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- لن يؤدي إعداد
OnBackPressedDispatcherإلى حدوثClassVerificationErrorعند استخدام إصدارات حزمة SDK الأقدم من 33. (Ic32e1) - سيتم الآن دائمًا إرسال عمليات رد الاتصال للصفوف التي تتجاوز عملية رد الاتصال
onPictureInPictureModeChanged()الخاصة بـComponentActivity. (Ib7fdb)
الإصدار 1.6.0-beta01
10 أغسطس 2022
تم إصدار androidx.activity:activity:1.6.0-beta01 وandroidx.activity:activity-compose:1.6.0-beta01 وandroidx.activity:activity-ktx:1.6.0-beta01. يتضمّن الإصدار 1.6.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم وضع علامة
@NonNullعلى الطريقتَين المتوقّفتَين نهائيًاstartActivityForResultوstartIntentSenderForResultفيComponentActivityلأنّ تمريرnullكان يؤدي دائمًا إلى حدوث عطل. (Id2a25، b/231476082)
إصلاح الأخطاء
- من النشاط
1.5.1: لن تعرضActivityResultRegistryأي نتيجة إلىActivityResultCallbackعندما يعرض طلبlaunchأيExceptionوتم تسجيل معاودة الاتصال بدونLifecycleOwner. (Ia7ff7، b/238350794) - من النشاط
1.5.1: ستُرسِلComponentActivityالآن طلبات القائمة بشكل صحيح إلى عمليات الإلغاءonPrepareOptionMenu()وonCreateOptionsMenu()وonOptionsItemSelected()بدون الحاجة إلى طلب الدالة الرئيسية. (Ie33c5، b/238057118)
تحديث الاعتماديات
- من النشاط
1.5.1: تعتمد مكتبةActivityالآن على الإصدارLifecycle2.5.1. (If6697)
الإصدار 1.6.0-alpha05
15 يونيو 2022
تم إصدار androidx.activity:activity:1.6.0-alpha05 وandroidx.activity:activity-compose:1.6.0-alpha05 وandroidx.activity:activity-ktx:1.6.0-alpha05. تم تطوير الإصدار 1.6.0-alpha05 في فرع خاص قبل الإصدار، ولا يتضمّن أي تعديلات علنية.
تغييرات واجهة برمجة التطبيقات
- أصبح
minCompileSdkالآن 33 ليتوافق مع الإصدار التجريبي 3 من حزمة تطوير البرامج (SDK) لنظام التشغيل Tiramisu
إصلاح الأخطاء
- تم إصلاح عُطل على الأجهزة القديمة عند إجراء عملية التحقّق من إضافة حزمة SDK إلى
PickVisualMediaActivityResultContract، وبالتالي من المفترض أن تعمل الآن معACTION_OPEN_DOCUMENTعلى الأجهزة التي تعمل بالإصدار Android 10 والإصدارات الأقدم.
الإصدار 1.6.0-alpha04
18 مايو 2022
تم طرح androidx.activity:activity:1.6.0-alpha04 وandroidx.activity:activity-ktx:1.6.0-alpha04.
إصلاح الأخطاء
- تم إصلاح خطأ في
PickVisualMediaRequestكان يؤدي إلى حدوث خطأ تجاوز سعة التخزين المؤقت عند محاولة إنشاء طلب، سواء من خلال "أداة الإنشاء" أو دالة Kotlin ذات المستوى الأعلى. - تم دمج
OnBackInvokedCallbackفي الإصدار التجريبي الثاني من Android 13 للمطوّرين ضمنOnBackPressedDispatcherالذي توفّرهComponentDialog. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلىOnBackPressedDispatcherعند تفعيل إيماءة الرجوع التوقّعية.
الإصدار 1.6.0-alpha03
27 نيسان (أبريل) 2022
تم إصدار androidx.activity:activity:1.6.0-alpha03 وandroidx.activity:activity-compose:1.6.0-alpha03 وandroidx.activity:activity-ktx:1.6.0-alpha03.
- ملاحظة: لن يتم تجميع هذا الإصدار إلا باستخدام حزمة تطوير البرامج (SDK) للإصدار التجريبي الأول من Android 13.
الميزات الجديدة
- تمت إضافة
ActivityResultContracts.PickVisualMediaوActivityResultContracts.PickMultipleVisualMediaلتوفير عقد متوافق مع الإصدارات القديمة يستخدمMediaStore.ACTION_PICK_IMAGESعندما تكون أداة اختيار الصور متاحة وIntent.ACTION_OPEN_DOCUMENTعندما لا تكون متاحة. - تم دمج
OnBackInvokedCallbackفي الإصدار التجريبي الأول من Android 13 للمطوّرين معOnBackPressedDispatcherالذي توفّرهComponentActivity. يضمن ذلك عمل جميع واجهات برمجة التطبيقات المستندة إلىOnBackPressedDispatcherعند تفعيل إيماءة الرجوع التوقّعية.
الإصدار 1.6.0-alpha01
23 مارس 2022
تم إصدار androidx.activity:activity:1.6.0-alpha01 وandroidx.activity:activity-compose:1.6.0-alpha01 وandroidx.activity:activity-ktx:1.6.0-alpha01.
- ملاحظة: لن يتم تجميع هذا الإصدار إلا باستخدام حزمة تطوير البرامج (SDK) لإصدار "معاينة المطوّرين 2" من نظام التشغيل Android 13.
الميزات الجديدة
- تم دمج التغييرات في الإصدار التجريبي الثاني من نظام التشغيل Android 13 في
ComponentActivity.
الإصدار 1.5.1
الإصدار 1.5.1
27 يوليو 2022
تم إصدار androidx.activity:activity:1.5.1 وandroidx.activity:activity-compose:1.5.1 وandroidx.activity:activity-ktx:1.5.1. يتضمّن الإصدار 1.5.1 هذه التعديلات.
إصلاح الأخطاء
لن تعرض الدالة
ActivityResultRegistryنتيجة للدالةActivityResultCallbackعندما تعرض المكالمةlaunch()أيExceptionوتم تسجيل الدالة بدونLifecycleOwner. (Ia7ff7، b/238350794)سترسل
ComponentActivityالآن طلبات القائمة بشكل صحيح إلى عمليات الإلغاء فيonPrepareOptionMenu()وonCreateOptionsMenu()وonOptionsItemSelected()بدون الحاجة إلى استدعاء الدالة الرئيسية. (Ie33c5، b/238057118)
تحديث الاعتمادية
- تعتمد مكتبة
Activityالآن على Lifecycle2.5.1. (If6697)
الإصدار 1.5.0
الإصدار 1.5.0
29 يونيو 2022
تم إصدار androidx.activity:activity:1.5.0 وandroidx.activity:activity-compose:1.5.0 وandroidx.activity:activity-ktx:1.5.0. يتضمّن الإصدار 1.5.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.4.0
- ComponentDialog -
ComponentDialogهي فئة فرعية منDialogتتضمّنOnBackPressedDispatcherسيتم استدعاؤها عند الضغط على زر الرجوع في النظام وظهور مربع الحوار. من المهم أيضًا أنّ هذه الفئة الفرعية تضبطViewTreeOnBackPressedDispatcherOwner، ما يتيح طرقًا عامة للعرض لاسترداد أداة الإرسال الصحيحة سواء كانت متوفّرة فيComponentActivityأوComponentDialog. - واجهات ردّ الاتصال: تنفّذ
ComponentActivityالآن مجموعة من واجهات ردّ الاتصال النموذجية التي يمكن استخدامها بدلاً من عمليات ردّ الاتصالActivity. تشمل هذه الواجهات ما يلي:OnNewIntentProviderوOnConfigurationChangedProviderوOnTrimMemoryProviderوOnPictureInPictureModeChangedProviderوOnMultiWindowModeChangedProvider - دمج CreationExtras: يمكن الآن لـ
ComponentActivityتوفيرViewModelProvider.Factoryبدون حالة من خلالCreationExtrasفي Lifecycle2.5.0.
التغييرات الأخرى
- تم إيقاف طريقة وضع التصميم التي لا تتضمّن مَعلمات في
ActivityResultContracts.CreateDocumentنهائيًا واستبدالها بطريقة وضع تصميم جديدة تتضمّن نوع MIME ملموسًا (مثل "image/png") كما هو مطلوب من خلالIntent.ACTION_CREATE_DOCUMENT.
الإصدار 1.5.0-rc01
11 مايو 2022
تم إصدار الإصدارات androidx.activity:activity:1.5.0-rc01 وandroidx.activity:activity-compose:1.5.0-rc01 وandroidx.activity:activity-ktx:1.5.0-rc01 بدون أي تغييرات عن الإصدار 1.5.0-beta01. يتضمّن الإصدار 1.5.0-rc01 هذه التعديلات.
الإصدار 1.5.0-beta01
20 أبريل 2022
تم إصدار androidx.activity:activity:1.5.0-beta01 وandroidx.activity:activity-compose:1.5.0-beta01 وandroidx.activity:activity-ktx:1.5.0-beta01. يتضمّن الإصدار 1.5.0-beta01 هذه التعديلات.
تحديثات الاعتماديات
- يعتمد النشاط الآن على Lifecycle
2.4.0-beta01.
الإصدار 1.5.0-alpha05
6 أبريل 2022
تم إصدار androidx.activity:activity:1.5.0-alpha05 وandroidx.activity:activity-compose:1.5.0-alpha05 وandroidx.activity:activity-ktx:1.5.0-alpha05. يتضمّن الإصدار 1.5.0-alpha05 هذه التعديلات.
إصلاح الأخطاء
- يتم الآن استدعاء
onPanelClosed()الفائق من خلالonPanelClosed()فيComponentActivityأيضًا، ما يؤدي إلى حلّ المشكلة التي كانت تتسبّب في عدم استدعاء الطريقةonContextMenuClosed. (Ib6f77)
الإصدار 1.5.0-alpha04
23 مارس 2022
تم إصدار androidx.activity:activity:1.5.0-alpha04 وandroidx.activity:activity-compose:1.5.0-alpha04 وandroidx.activity:activity-ktx:1.5.0-alpha04. يتضمّن الإصدار 1.5.0-alpha04 هذه التعديلات.
إصلاح الأخطاء
- يتيح
SavedStateViewFactoryالآن استخدامCreationExtrasحتى إذا تم إعداده باستخدامSavedStateRegistryOwner. في حال توفير عناصر إضافية، سيتم تجاهل الوسيطات التي تمّت تهيئتها. (I6c43b، b/224844583)
الإصدار 1.5.0-alpha03
23 فبراير 2022
تم إصدار androidx.activity:activity:1.5.0-alpha03 وandroidx.activity:activity-compose:1.5.0-alpha03 وandroidx.activity:activity-ktx:1.5.0-alpha03. يتضمّن الإصدار 1.5.0-alpha03 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- يمكنك الآن تمرير
CreationExtrasإلى وظيفة النشاطby viewModels()(I6a3e6، b/217600303)
الإصدار 1.5.0-alpha02
9 فبراير 2022
تم إصدار androidx.activity:activity:1.5.0-alpha02 وandroidx.activity:activity-compose:1.5.0-alpha02 وandroidx.activity:activity-ktx:1.5.0-alpha02. يتضمّن الإصدار 1.5.0-alpha02 هذه التعديلات.
الميزات الجديدة
- تنفّذ
ComponentActivityالآن واجهةOnPictureInPictureModeChangedProviderللسماح لأي مكون بتلقّي أحداث تغيير وضع "نافذة ضمن النافذة". (I9f567) - تنفِّذ السمة
ComponentActivityالآن الواجهةOnMultiWindowModeChangedProviderللسماح لأي مكوّن بتلقّي أحداث تغيير وضع النوافذ المتعدّدة. (I62d91)
الإصدار 1.5.0-alpha01
26 يناير 2022
تم إصدار androidx.activity:activity:1.5.0-alpha01 وandroidx.activity:activity-compose:1.5.0-alpha01 وandroidx.activity:activity-ktx:1.5.0-alpha01. يتضمّن الإصدار 1.5.0-alpha01 هذه التعديلات.
الميزات الجديدة
- يتكامل
ComponentActivityالآن مع ViewModel CreationExtras، الذي تم تقديمه كجزء من Lifecycle2.5.0-alpha01. (Ie7e00، b/207012584) - تمت إضافة
ComponentDialog، وهي فئة فرعية منDialogتتضمّنOnBackPressedDispatcherسيتم استدعاؤها عند الضغط على زر الرجوع في النظام عندما يكون مربّع الحوار مرئيًا. من المهم أيضًا أنّ هذه الفئة الفرعية تضبطViewTreeOnBackPressedDispatcherOwner، ما يتيح طرقًا عامة للعناصر المعروضة لاسترداد أداة الإرسال الصحيحة سواء كانت متوفّرة فيComponentActivityأوComponentDialog. (I8a1bc) - تستخدم السمة
ComponentActivityالآن واجهةOnNewIntentProviderالجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (If1f8b) - تستخدم السمة
ComponentActivityالآن واجهةOnConfigurationChangedProviderالجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (If623b) - تستخدم
ComponentActivityالآن واجهةOnTrimMemoryProviderالجديدة للسماح لأي مكوّن بتلقّي هذه الأحداث. (Ia9295)
تغييرات واجهة برمجة التطبيقات
- تم إيقاف دالة إنشاء بدون مَعلمات الخاصة بالفئة
ActivityResultContracts.CreateDocumentنهائيًا واستبدالها بدالة إنشاء جديدة تقبل نوع MIME محددًا (مثل"image/png") على النحو المطلوب بموجبIntent.ACTION_CREATE_DOCUMENT. (I2bec6) - يمكن الآن استرداد
OnBackPressedDispatcherOwnerالمرتبط بواجهة عرض من خلالViewTreeOnBackPressedDispatcherOwnerبدلاً من الاعتماد على تحويلContextإلى نوع آخر. (I74685)
إصلاح الأخطاء
- تم إصلاح عُطل كان يحدث عند الوصول إلى
ViewModelللمرة الأولى من خلالregisterForActivityResult()ردّ الاتصال أو ردود الاتصال إلىLifecycleObserverالتي تمت إضافتها كجزء منinitفيComponentActivity. (Ife83f)
الإصدار 1.4.0
الإصدار 1.4.0
27 أكتوبر 2021
تم إصدار androidx.activity:activity:1.4.0 وandroidx.activity:activity-compose:1.4.0 وandroidx.activity:activity-ktx:1.4.0. يتضمّن الإصدار 1.4.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.3.0
- تنفّذ مكتبة AndroidX
ComponentActivityالآن الواجهةMenuHost. يتيح ذلك لأي مكوّن إضافة عناصر قائمة إلىActionBarمن خلال إضافة مثيلMenuProviderإلى النشاط. يمكن إضافة كلMenuProviderبشكل اختياري معLifecycleيتحكّم تلقائيًا في مستوى ظهور عناصر القائمة هذه استنادًا إلى حالةLifecycleويتعامل مع إزالةMenuProviderعند إيقافLifecycle. - تمت إعادة كتابة فئة
ActivityResultContractبلغة Kotlin لضمان إمكانية المطوّرين الذين يكتبون عقودًا مخصّصة بلغة Kotlin تحديد إمكانية القيم الخالية الصحيحة لفئات الإدخال والإخراج. - تمت إعادة كتابة الفئة
ActivityResultContractsوعقودها بلغة Kotlin لضمان إمكانية القيم الخالية بشكل صحيح.
الإصدار 1.4.0-rc01
13 أكتوبر 2021
تم إصدار androidx.activity:activity:1.4.0-rc01 وandroidx.activity:activity-compose:1.4.0-rc01 وandroidx.activity:activity-ktx:1.4.0-rc01. يتضمّن الإصدار 1.4.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- لن يعرض
ActivityResultRegistryنتيجة للاستدعاءActivityResultCallbackعندما يعرض الاستدعاءlaunchأيException. (If4f91، b/200845664)
الإصدار 1.4.0-beta01
29 سبتمبر 2021
تم إصدار androidx.activity:activity:1.4.0-beta01 وandroidx.activity:activity-compose:1.4.0-beta01 وandroidx.activity:activity-ktx:1.4.0-beta01. يتضمّن الإصدار 1.4.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم إصلاح النوع الخاص بـ
ActivityResultContracts.OpenMultipleDocumentsوActivityResultContracts.GetMultipleContentsالذي تسبّب في استخدام نوع إخراجList<? extends Uri>عند استخدام الرمز من لغة البرمجة Java. (If71de) - يمكن الآن الوصول إلى الثوابت العامة ضمن الفئات
ActivityResultContracts.StartActivityForResultوActivityResultContracts.StartIntentSenderForResultوActivityResultContracts.RequestMultiplePermissionsعند استخدام Kotlin من خلال الكائناتCompanionالعامة. (aosp/1832555)
تعديلات على المستندات
- تم توسيع رسالة الإيقاف النهائي لواجهات برمجة التطبيقات التي تتعامل معها الآن واجهات برمجة التطبيقات لنتائج الأنشطة، أي
startActivityForResultوstartIntentSenderForResultوonActivityResultوrequestPermissionsوonRequestPermissionsResult، لتشمل المزيد من التفاصيل. (cce80f)
الإصدار 1.4.0-alpha02
15 سبتمبر 2021
تم إصدار androidx.activity:activity:1.4.0-alpha02 وandroidx.activity:activity-compose:1.4.0-alpha02 وandroidx.activity:activity-ktx:1.4.0-alpha02. يتضمّن الإصدار 1.4.0-alpha02 هذه التعديلات.
الميزات الجديدة
- يحتوي العنصر
activity-composeالآن على خطأLaunchDuringCompositionفي أداة Lint يمنعك من استدعاء الطريقةlaunchمنActivityResultLauncherكجزء من التركيب، لأنّ التركيب يجب أن يكون خاليًا من الآثار الجانبية. استخدِم واجهات برمجة التطبيقات لمعالجة الآثار الجانبية. (7c2bbe، b/191347220)
تغييرات واجهة برمجة التطبيقات
- تمت إعادة كتابة الفئة
ActivityResultContractبلغة Kotlin لضمان أن يتمكّن المطوّرون الذين يكتبون عقودًا مخصّصة بلغة Kotlin من تحديد إمكانية القيم الفارغة الصحيحة لفئات الإدخال والإخراج. (I8a8f5) - تمت إعادة كتابة فئة
ActivityResultContractsوعقودها بلغة Kotlin لضمان إمكانية قبول القيم الفارغة بشكل سليم. (I69802)
الإصدار 1.4.0-alpha01
1 سبتمبر 2021
تم إصدار androidx.activity:activity:1.4.0-alpha01 وandroidx.activity:activity-compose:1.4.0-alpha01 وandroidx.activity:activity-ktx:1.4.0-alpha01. يتضمّن الإصدار 1.4.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تنفِّذ حزمة AndroidX
ComponentActivityالآن واجهةMenuHost. يتيح ذلك لأي مكوّن إضافة عناصر قائمة إلىActionBarمن خلال إضافة مثيلMenuProviderإلى النشاط. يمكن إضافة كلMenuProviderبشكل اختياري معLifecycleيتحكّم تلقائيًا في مستوى ظهور عناصر القائمة هذه استنادًا إلى حالةLifecycleويتعامل مع إزالةMenuProviderعند إيقافLifecycle. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
التغييرات في السلوك
- سيؤدي
ActivityResultRegistryالآن إلى عرضIllegalStateExceptionعند محاولة استدعاءlaunch()علىActivityResultLauncherلم يتم تسجيله أو تم إلغاء تسجيله. (Ida75d، b/192567522)
المساهمة الخارجية
الإصدار 1.3.1
الإصدار 1.3.1
4 أغسطس 2021
تم إصدار androidx.activity:activity:1.3.1 وandroidx.activity:activity-compose:1.3.1 وandroidx.activity:activity-ktx:1.3.1. يتضمّن الإصدار 1.3.1 هذه التعديلات.
تحديثات الاعتماديات
- يعتمد النشاط الآن على
1.5.21في Kotlin. - تعتمد ميزة "إنشاء النشاط" الآن على Compose
1.0.1.
الإصدار 1.3.0
الإصدار 1.3.0
28 يوليو 2021
تم إصدار androidx.activity:activity:1.3.0 وandroidx.activity:activity-compose:1.3.0 وandroidx.activity:activity-ktx:1.3.0. يتضمّن الإصدار 1.3.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.2.0
- عنصر Activity Compose: يوفّر العنصر
activity-composeطريقة الإضافةsetContentلاستضافة واجهة مستخدم Jetpack Compose في نشاط، بالإضافة إلى برامج تضمين خاصة بـ Compose للتفاعل مع واجهات برمجة التطبيقاتComponentActivityمن أجل التعامل مع زر الرجوع في النظام وواجهات برمجة التطبيقات الخاصة بنتائج الأنشطة. يمكنك الاطّلاع على المستندات لمزيد من التفاصيل. - عقد CaptureVideo: يحلّ
CaptureVideoActivityResultContractمحلّ العقدTakeVideoالمتوقّف نهائيًا، ويعرض قيمة منطقية تشير إلى النجاح، وهو يعمل على العديد من تطبيقات الكاميرا. - تتبُّع عرض تلميح "نافذة ضمن النافذة": يمكن لمستخدمي
activity-ktxالآن استخدام طريقة الإضافةtrackPipAnimationHintViewعلىActivityلإعادة إنشاءPictureInPictureParamsتلقائيًا باستخدام الموضع الجديد للعرض عند تغييره بالنسبة إلى النافذة.
الإصدار 1.3.0-rc02
14 يوليو 2021
تم إصدار androidx.activity:activity:1.3.0-rc02 وandroidx.activity:activity-compose:1.3.0-rc02 وandroidx.activity:activity-ktx:1.3.0-rc02. يتضمّن الإصدار 1.3.0-rc02 هذه التعديلات.
إصلاح الأخطاء
- يتم الآن حفظ عمليات معاودة الاتصال
ActivityResultRegistryواستعادتها بشكل صحيح، وبالتالي لا يتم تكرار عمليات معاودة الاتصال في savedState. (I97816، b/191893160)
الإصدار 1.3.0-rc01
1 تموز (يوليو) 2021
تم إصدار androidx.activity:activity:1.3.0-rc01 وandroidx.activity:activity-compose:1.3.0-rc01 وandroidx.activity:activity-ktx:1.3.0-rc01 بدون أي تغييرات منذ 1.3.0-beta02. يتضمّن الإصدار 1.3.0-rc01 هذه التعديلات.
الإصدار 1.3.0-beta02
16 حزيران (يونيو) 2021
تم إصدار androidx.activity:activity:1.3.0-beta02 وandroidx.activity:activity-compose:1.3.0-beta02 وandroidx.activity:activity-ktx:1.3.0-beta02. يتضمّن الإصدار 1.3.0-beta02 هذه التعديلات.
تم تعديل activity-compose ليعتمد على Compose 1.0.0-beta09. يحتوي androidx.compose.ui:ui-test-junit4 الآن على تبعية وقت الترجمة البرمجية في activity-compose.
الإصدار 1.3.0-beta01
2 حزيران (يونيو) 2021
تم إصدار androidx.activity:activity:1.3.0-beta01 وandroidx.activity:activity-compose:1.3.0-beta01 وandroidx.activity:activity-ktx:1.3.0-beta01. يتضمّن الإصدار 1.3.0-beta01 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة الطريقة
@Composable registerForActivityResult()التي تم إيقاف استخدامها سابقًا. يُرجى استخدامrememberLauncherForActivityResult(). (Ic39d3)
الإصدار 1.3.0-alpha08
18 أيار (مايو) 2021
تم إصدار androidx.activity:activity:1.3.0-alpha08 وandroidx.activity:activity-compose:1.3.0-alpha08 وandroidx.activity:activity-ktx:1.3.0-alpha08. يتضمّن الإصدار 1.3.0-alpha08 هذه التعديلات.
الميزات الجديدة
- تعرض الدالة الجديدة
CaptureVideoActivityResultContractقيمة منطقيةActivityResultCallbackتشير إلى ما إذا تم حفظ الفيديو بنجاح في معرّف الموارد الموحّد (URI) المحدّد. يحلّ هذا الإجراء محلّ العقدTakeVideoالذي تم إيقافه نهائيًا، لأنّ تطبيقات الكاميرا نادرًا ما كانت تتيح عرض صورة مصغّرة بتنسيق نقطي، ما يجعل النتيجة غير مفيدة. (Ie21f2، b/185938070) - تمت إضافة واجهة برمجة تطبيقات جديدة
Activity#setPipAnimationHintViewلتعديل تلميح مستطيل المصدر الخاص بـ PipParams كلما تحرّكت طريقة العرض. (I9063d)
تغييرات واجهة برمجة التطبيقات
- تعرض الدالة
rememberLauncherForActivityResultالآن مشغّلاً يوقف الدالةunregister()نهائيًا، إذ تتولّى الدالةrememberLauncherForActivityResultتلقائيًا عملية تسجيل المشغّل وإلغاء تسجيله. (I2443e)
توافق ميزة "الكتابة الذكية"
- لا يتوافق
androidx.activity:activity-compose:1.3.0-alpha08إلا مع الإصدار1.0.0-beta07من Compose والإصدارات الأحدث.
الإصدار 1.3.0-alpha07
21 أبريل 2021
تم إصدار androidx.activity:activity:1.3.0-alpha07 وandroidx.activity:activity-compose:1.3.0-alpha07 وandroidx.activity:activity-ktx:1.3.0-alpha07. يتضمّن الإصدار 1.3.0-alpha07 هذه التعديلات.
إصلاح الأخطاء
- تعرض الدالة
rememberLauncherForActivityResultالآن مرجعًا ثابتًا إلى مثيلActivityResultLauncherنفسه حتى إذا تغيّر العقد بسبب عمليات إعادة التركيب. (Id2d6d) - لن يؤدي استخدام إصدارات غير ثابتة من Fragments أعلى من
1.3.0إلى ظهور خطأ lint إيجابي خاطئ يطلب منك استخدام1.3.0. (aosp/1670206 وb/184847092)
الإصدار 1.3.0-alpha06
7 نيسان (أبريل) 2021
تم إصدار androidx.activity:activity:1.3.0-alpha06 وandroidx.activity:activity-compose:1.3.0-alpha06 وandroidx.activity:activity-ktx:1.3.0-alpha06. يتضمّن الإصدار 1.3.0-alpha06 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية واجهة برمجة التطبيقات
registerForActivityResult()إلىrememberLauncherForActivityResult()لتوضيح أنّActivityResultLauncherالذي يتم عرضه هو عنصر مُدار يتم تذكّره نيابةً عنك. ستؤدي محاولة استدعاءunregisterالتي تم عرضActivityResultLauncherلها الآن إلى حدوث خطأ. (I2bb6d) - تعرض الدالتان
LocalOnBackPressedDispatcherOwner.currentوLocalActivityResultRegistryOwner.currentالآن قيمة تقبل القيم الفارغة لتحديد ما إذا كانت السمة متاحة في التركيب الحالي. ستعرض الآن واجهات برمجة التطبيقات التي تتطلّب هذه الواجهات، مثلBackHandlerوrememberLauncherForActivityResult()، خطأ أكثر وصفًا في حال عدم العثور على المالك الأساسي. تعمل ميزةNavHostالآن حتى في حال عدم العثور علىOnBackPressedDispatcherOwner، كما يحدث عند معاينةNavHost. (I7d8b4)
إصلاح الأخطاء
- سيعترض
BackHandlerالآن بشكل صحيح على عمليات الضغط على زر الرجوع في حال كان النشاطSTOPPED، ثمSTARTEDمرة أخرى، وتمت إضافة عمليات رد اتصال أخرى باستخدام LifecycleOwner. (I71de6، b/182284739) - لن يؤدي استخدام إضافة طريقة
launch()معActivityResultContractمخصّص يتضمّن إدخالUnitإلى حدوثNullPointerException(I76282، b/183837954)
الإصدار 1.3.0-alpha05
24 مارس 2021
تم إصدار androidx.activity:activity:1.3.0-alpha05 وandroidx.activity:activity-compose:1.3.0-alpha05 وandroidx.activity:activity-ktx:1.3.0-alpha05. يتضمّن الإصدار 1.3.0-alpha05 هذه التعديلات.
إصلاح الأخطاء
- من الإصدار 1.2.2 من "النشاط": تم إصلاح مشكلة في عملية فحص
InvalidFragmentVersionForActivityResultlint التي أدّت إلى نتيجة إيجابية خاطئة عند استخدام الإصدار 1.3.1 أو الإصدارات الأحدث من Fragment. (I54da1، b/182388985) - من Activity 1.2.2: تتجنّب السمة
ComponentActivityالآن حدوثClassNotFoundExceptionعند تشغيلIntentمنActivityResultContractتم الاحتفاظ به سابقًا كبيانات إضافية فيIntentآخر. (Ieff05، b/182906230)
تحديثات الاعتماديات
- من الإصدار 1.2.2 من النشاط: يعتمد النشاط الآن على مراحل النشاط
2.3.1.
الإصدار 1.3.0-alpha04
10 مارس 2021
تم إصدار androidx.activity:activity:1.3.0-alpha04 وandroidx.activity:activity-compose:1.3.0-alpha04 وandroidx.activity:activity-ktx:1.3.0-alpha04. يتضمّن الإصدار 1.3.0-alpha04 هذه التعديلات.
إصلاح الأخطاء
- من النشاط
1.2.1: تعرض الدالةRequestMultiplePermissionsالآن دائمًا نتائج لجميع الأذونات المطلوبة بدلاً من الأذونات التي لم يتم منحها سابقًا فقط. (I50bc3، b/180884668) - من النشاط
1.2.1: تضمنActivityResultRegistryالآن أنّ طلباتlaunch()الجارية ستعرض نتائجها حتى إذاunregister()ثمregister()مرة أخرى باستخدام المفتاح نفسه. (I9ef34، b/181267562) - لم يعُد Activity Compose يضيف تبعيات الاختبار إلى مسار فئة وقت التشغيل. (Ifd8b3)
- تم إصلاح مشكلة في
BackHandlerحيث كان يتم استخدام دالةonBacklambda التي تم ضبطها سابقًا بعد إعادة التركيب. (8eb5eb)
الإصدار 1.3.0-alpha03
24 شباط (فبراير) 2021
تم إصدار androidx.activity:activity:1.3.0-alpha03 وandroidx.activity:activity-compose:1.3.0-alpha03 وandroidx.activity:activity-ktx:1.3.0-alpha03. يتضمّن الإصدار 1.3.0-alpha03 هذه التعديلات.
الميزات الجديدة
- تتوفّر الآن دالة
registerForActivityResultقابلة للإنشاء للحصول على نتائج من الأنشطة داخل العناصر القابلة للإنشاء. (Ia7851، b/172690553)
تغييرات واجهة برمجة التطبيقات
- تتضمّن
LocalOnBackPressedDispatcherOwnerالآن وظائفprovidesيمكن استخدامها معCompositionLocalProvider، ما يحلّ محل واجهة برمجة التطبيقاتasProvidableCompositionLocal(). (I45d24)
الإصدار 1.3.0-alpha02
10 شباط (فبراير) 2021
تم إصدار androidx.activity:activity:1.3.0-alpha02 وandroidx.activity:activity-compose:1.3.0-alpha02 وandroidx.activity:activity-ktx:1.3.0-alpha02. يتضمّن الإصدار 1.3.0-alpha02 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة في "إنشاء النشاط"
1.3.0-alpha01تتسبّب في حدوث استثناءNoSuchMethodError: No static method setContentعند استخدام "إنشاء"1.0.0-alpha12. يجب أن يعتمد جميع مستخدمي "أنشئ أغنية" على الإصدار1.3.0-alpha02والإصدارات الأحدث. (b/179911234)
تغييرات واجهة برمجة التطبيقات
- يمكن استخدام واجهة برمجة التطبيقات
BackHandlerللسماح لأحد العناصر القابلة للإنشاء باعتراض زر الرجوع في النظام. (I58ed5، b/172154006)
الإصدار 1.3.0-alpha01
10 شباط (فبراير) 2021
تم إصدار androidx.activity:activity:1.3.0-alpha01 وandroidx.activity:activity-compose:1.3.0-alpha01 وandroidx.activity:activity-ktx:1.3.0-alpha01. يتضمّن الإصدار 1.3.0-alpha01 هذه التعديلات.
الميزات الجديدة
- يوفّر العنصر الجديد
activity-composeأدوات مساعدة خاصة بـ Jetpack Compose لواجهات برمجة التطبيقات الخاصة بـandroidx.activity.- تم نقل
ComponentActivity.setContentمنandroidx.compose.ui.platform.setContentإلىandroidx.activity.compose.setContent. (Icf416)
- تم نقل
المشاكل المعروفة
- سيؤدي استخدام Activity Compose
1.3.0-alpha01والمكتبات التي تعتمد عليها، مثلandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12، إلى حدوث استثناءNoSuchMethodError: No static method setContent. (b/179911234)
الإصدار 1.2.4
الإصدار 1.2.4
21 تموز (يوليو) 2021
تم طرح androidx.activity:activity:1.2.4 وandroidx.activity:activity-ktx:1.2.4. يتضمّن الإصدار 1.2.4 هذه التعديلات.
إصلاح الأخطاء
- من النشاط
1.3.0-rc02: يتم الآن حفظ عمليات معاودة الاتصال في ActivityResultRegistry واستعادتها بشكل صحيح، وبالتالي لن يتم تكرار عمليات معاودة الاتصال في savedState. (I97816، b/191893160)
الإصدار 1.2.3
الإصدار 1.2.3
5 أيار (مايو) 2021
تم طرح androidx.activity:activity:1.2.3 وandroidx.activity:activity-ktx:1.2.3. يتضمّن الإصدار 1.2.3 هذه التعديلات.
إصلاح الأخطاء
- لن يؤدي استخدام إضافة طريقة
launch()معActivityResultContractمخصّص يتضمّن إدخالUnitإلى حدوثNullPointerException(I76282، b/183837954) - تم إصلاح خطأ lint إيجابي خاطئ يطلب منك استخدام Fragment
1.3.0عند استخدام إصدار تجريبي أو أولي أو إصدار ألفا أو إصدار مرشّح للإصدار من إصدار أحدث من Fragments. (f4a57e، b/184847092)
الإصدار 1.2.2
الإصدار 1.2.2
24 مارس 2021
تم طرح androidx.activity:activity:1.2.2 وandroidx.activity:activity-ktx:1.2.2. يتضمّن الإصدار 1.2.2 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة في عملية فحص
InvalidFragmentVersionForActivityResultlint أدت إلى ظهور نتيجة إيجابية خاطئة عند استخدام الإصدار 1.3.1 أو إصدار أحدث من Fragment. (I54da1، b/182388985) - يتجنّب
ComponentActivityالآنClassNotFoundExceptionعند تشغيلIntentمنActivityResultContractتمّت إضافته سابقًا كإعلان إضافي فيIntentآخر. (Ieff05، b/182906230)
تحديثات الاعتماديات
- يعتمد النشاط الآن على Lifecycle
2.3.1.
الإصدار 1.2.1
الإصدار 1.2.1
10 مارس 2021
تم طرح androidx.activity:activity:1.2.1 وandroidx.activity:activity-ktx:1.2.1. يتضمّن الإصدار 1.2.1 هذه التعديلات.
إصلاح الأخطاء
- تعرض
RequestMultiplePermissionsالآن دائمًا نتائج لجميع الأذونات المطلوبة بدلاً من الأذونات التي لم يتم منحها سابقًا فقط. (I50bc3، b/180884668) - تضمن
ActivityResultRegistryالآن أنّ طلباتlaunch()الجارية ستعرض نتائجها حتى إذاunregister()، ثمregister()مرة أخرى باستخدام المفتاح نفسه. (I9ef34، b/181267562)
الإصدار 1.2.0
الإصدار 1.2.0
10 شباط (فبراير) 2021
تم طرح androidx.activity:activity:1.2.0 وandroidx.activity:activity-ktx:1.2.0. يتضمّن الإصدار 1.2.0 هذه التعديلات.
التغييرات الرئيسية منذ الإصدار 1.1.0
- واجهات برمجة تطبيقات نتائج الأنشطة: يوفّر الإصدار
ComponentActivityالآنActivityResultRegistryيتيح لك التعامل مع عملياتstartActivityForResult()+onActivityResult()بالإضافة إلى عملياتrequestPermissions()+onRequestPermissionsResult()بدون إلغاء الطرق في "نشاط" أو "جزء"، كما يوفّر أمانًا محسّنًا للأنواع من خلالActivityResultContract، ويوفر نقاط ربط لاختبار هذه العمليات. اطّلِع على الحصول على نتيجة من نشاط المعدَّل.
ContextAware: تنفّذComponentActivityالآنContextAware، ما يتيح لك إضافة مثيل واحد أو أكثر منOnContextAvailableListenerسيتلقّى ردّ اتصال قبلActivity.onCreate()الأساسي.- يتيح لك امتداد Kotlin المعلق
withContextAvailable()تشغيل رمز غير معلّق عندما يصبح السياق متاحًا وعرض نتيجة. - تستخدم
FragmentActivityهذه الواجهة في Fragment 1.3.0 لاستعادة حالةFragmentManager. سيتم تنفيذ أي أدوات معالجة إضافية تمت إضافتها إلى الفئات الفرعية منFragmentActivityبعد أداة المعالجة هذه. - تستخدم
AppCompatActivityواجهة برمجة التطبيقات هذه في AppCompat 1.3.0-alpha02 أو الإصدارات الأحدث. سيتم تنفيذ أي أدوات معالجة إضافية تمت إضافتها إلى الفئات الفرعية منAppCompatActivityبعد أداة المعالجة هذه.
- يتيح لك امتداد Kotlin المعلق
ViewTreeSupport: تتوافق المكتبةComponentActivityالآن مع واجهات برمجة التطبيقاتViewTreeLifecycleOwner.get(View)وViewTreeViewModelStoreOwner.get(View)وViewTreeSavedStateRegistryOwnerالتي تمت إضافتها في Lifecycle2.3.0وSavedState1.1.0، ما يتيح عرض النشاط كـLifecycleOwnerوViewModelStoreOwnerوSavedStateRegistryOwnerلأي طرق عرض تمت إضافتها مباشرةً إلىComponentActivity.
- إصدار قديم من reportFullyDrawn(): تم نقل طريقة
ActivityمنreportFullyDrawn()إلى إصدار قديم فيComponentActivityلتعمل على جميع مستويات واجهة برمجة التطبيقات، ما يؤدي إلى إصلاح عُطل في المستوى 19 من واجهة برمجة التطبيقات وإضافة تتبُّع لهذه الطريقة على جميع مستويات واجهة برمجة التطبيقات.
الإصدار 1.2.0-rc01
16 كانون الأول (ديسمبر) 2020
تم طرح androidx.activity:activity:1.2.0-rc01 وandroidx.activity:activity-ktx:1.2.0-rc01. يتضمّن الإصدار 1.2.0-rc01 هذه التعديلات.
إصلاح الأخطاء
- تعمل ميزة "
ActivityResultRegistry" الآن على استعادة الحالة الدقيقة التي تم حفظها دائمًا. (Idd56b) - إضافة تتبُّع إلى
ComponentActivity.reportFullyDrawn(Ic7632)
المساهمة الخارجية
- تتجاوز السمة
ComponentActivityالآن السمةreportFullyDrawn()، ما يسمح باستدعائها على جميع مستويات واجهة برمجة التطبيقات وإصلاح عُطل عند استدعاء هذه الطريقة بدون إذن النظام المناسب على الأجهزة التي تعمل بالإصدار 19 من واجهة برمجة التطبيقات. شكرًا "سيمون شيلر"! (b/163239764، #103)
الإصدار 1.2.0-beta02
2 ديسمبر 2020
تم طرح androidx.activity:activity:1.2.0-beta02 وandroidx.activity:activity-ktx:1.2.0-beta02. يتضمّن الإصدار 1.2.0-beta02 هذه التعديلات.
إصلاح الأخطاء
- تم إصلاح مشكلة كانت تتسبّب في عدم انتظار واجهة برمجة التطبيقات Activity Result API حتى تصبح حالة Lifecycle
STARTEDقبل عرض النتائج عند التسجيل باستخدامLifecycle. (I109ea)
المساهمة الخارجية
- عدّلنا مستندات
launch()لتوضيح أنّه يمكن أن يعرض الخطأActivityNotFoundException. شكرًا "ميخاو زيليينسكي". (aosp/1493580)
الإصدار 1.2.0-beta01
1 تشرين الأول (أكتوبر) 2020
تم طرح androidx.activity:activity:1.2.0-beta01 وandroidx.activity:activity-ktx:1.2.0-beta01. يتضمّن الإصدار 1.2.0-beta01 هذه التعديلات.
إصلاح الأخطاء
تُنشئ
ActivityResultRegistryالآن أعدادًا صحيحة عشوائية إلى أن تعثر على عدد غير مخصّص لاستخدامه كرمز طلبregister()، ما يمنع حدوث أي تجاوز محتمل للعدد الصحيح بسبب زيادة رموز الطلبات. (b/168779518)تتم إزالة مراقبي
Lifecycleبشكل صحيح عند استدعاءunregister()علىActivityResultLauncher. (b/165608393)
التغييرات في السلوك
- يُصدر
ActivityResultRegistryالآنIllegalStateExceptionعند محاولة استدعاءregister()باستخدامLifecycleOwnerالذي سبق أن وصلLifecycleالخاص به إلىSTARTED. (b/165435866)
تعديل المستندات
- تربط مستندات
ContextAwareبـLifecycleOwnerلتسليط الضوء على عمليات معاودة الاتصالLifecycleباعتبارها المكان المناسب لأحداث الإنشاء والإتلاف. (aosp/1414152)
الإصدار 1.2.0-alpha08
19 آب (أغسطس) 2020
تم طرح androidx.activity:activity:1.2.0-alpha08 وandroidx.activity:activity-ktx:1.2.0-alpha08. يتضمّن الإصدار 1.2.0-alpha08 هذه التعديلات.
الميزات الجديدة
- تنفّذ
ComponentActivityالآنContextAware، ما يتيح لك إضافة مثيل واحد أو أكثر منOnContextAvailableListenerسيتلقّى ردّ اتصال قبلActivity.onCreate()الأساسي. (b/161390636)- يتيح لك امتداد Kotlin المعلق
withContextAvailable()تشغيل رمز غير معلّق عندما يصبح السياق متاحًا وعرض نتيجة. (I8290c) - تستخدم
FragmentActivityهذه الواجهة في Fragment 1.3.0-alpha08 لاستعادة حالةFragmentManager. سيتم تنفيذ أي أدوات معالجة إضافية تمت إضافتها إلى الفئات الفرعية منFragmentActivityبعد أداة المعالجة هذه. (I513da) - تستخدم
AppCompatActivityواجهة برمجة التطبيقات هذه في AppCompat 1.3.0-alpha02. سيتم تنفيذ أي أدوات معالجة إضافية تمت إضافتها إلى الفئات الفرعية منAppCompatActivityبعد أداة المعالجة هذه. (I513da)
- يتيح لك امتداد Kotlin المعلق
إصلاح الأخطاء
- تم إصلاح مشكلة في
ActivityResultFragmentVersionDetectorعملية فحص Lint كانت تؤدي إلى تعطُّلها عند استخدام الإصدار 27.1.0 أو إصدار أحدث من Lint. (b/162155191)
الإصدار 1.2.0-alpha07
22 تموز (يوليو) 2020
تم طرح androidx.activity:activity:1.2.0-alpha07 وandroidx.activity:activity-ktx:1.2.0-alpha07. يتضمّن الإصدار 1.2.0-alpha07 هذه التعديلات.
الميزات الجديدة
- تمت إضافة
InvalidFragmentVersionForActivityResultفحص lint جديد يتحقّق من أنّك تستخدم Fragment1.3.0-alpha07عند استخدام Activity Result API، ما يمنع حدوث أعطال في وقت التشغيل بسبب مشاكل "رمز الطلب غير صالح" وطلبات الأذونات التي لا تعمل بسبب استخدام إصدارات قديمة من Fragment. (b/152554847)
المساهمة الخارجية
- تم إصلاح
ArrayIndexOutOfBoundsExceptionعند تحليل النتائج الخاصة بعقدRequestPermissionActivity Result. (I8f9e3، b/161057605)
الإصدار 1.2.0-alpha06
10 يونيو 2020
تم طرح androidx.activity:activity:1.2.0-alpha06 وandroidx.activity:activity-ktx:1.2.0-alpha06. يتضمّن الإصدار 1.2.0-alpha06 هذه التعديلات.
الميزات الجديدة
- يمكنك الآن تفكيك فئة
ActivityResultفي Kotlin للوصول مباشرةً إلىrequestCodeوintent. (b/157212935) - يتيح لك تطبيق "
ActivityResultLauncher" الآن الحصول علىActivityResultContractالذي تم استخدامه لتسجيل مشغّل التطبيقات. (b/156875743)
تغييرات واجهة برمجة التطبيقات
- تغيير غير متوافق: تمت إعادة تسمية الطريقة
invoke()فيActivityResultRegistryإلىonLaunch(). (b/157496491) - تعرض الآن الدالة
OpenMultipleDocumentsعقدًا بقائمة فارغة بدلاً منnullإلى دالة معاودة الاتصال المسجّلة في حال عدم عرض أي نتيجة. (b/157348014)
الإصدار 1.2.0-alpha05
20 أيار (مايو) 2020
تم طرح androidx.activity:activity:1.2.0-alpha05 وandroidx.activity:activity-ktx:1.2.0-alpha05. يتضمّن الإصدار 1.2.0-alpha05 هذه التعديلات.
الميزات الجديدة
- تمت إضافة دعم لـ
ViewTreeViewModelStoreOwnerمن دورة الحياة2.3.0-alpha03، وViewTreeSavedStateRegistryOwnerمن SavedState1.1.0-alpha01عند استخدامViewضِمنComponentActivity. (aosp/1297993 وaosp/1300264)
تغييرات واجهة برمجة التطبيقات
- تعرض الآن السمة
TakePictureالعقدbooleanالذي يشير إلى النجاح بدلاً من الصورة المصغّرةBitmap، لأنّ تطبيقات الكاميرا نادرًا ما كانت تتوافق مع هذه السمة عند كتابة الصورة فيUriالمقدَّم. (b/154302879) - تمت إزالة الإضافات
invoke()فيActivityResultLauncherلصالح استخدامlaunch()بشكلٍ صريح للإشارة بشكلٍ أفضل إلى أنّ هذه العمليات غير متزامنة. تمت إضافة إضافات Kotlin إلىlaunchفي الحزمةandroidx.activity.resultلكل منActivityResultLauncher<Void>وActivityResultLauncher<Unit>، ما يغني عن الحاجة إلى تمريرnullأوUnitعلى التوالي، مع عكس هذا السلوك من الإضافاتinvoke()السابقة. (aosp/1304674 وaosp/1304675) - تم دمج طريقتَي
IntentSenderRequest.Builderلكل منsetFlagsMask()وsetFlagsValues()في طريقةsetFlags()واحدة. (aosp/1302111)
إصلاح الأخطاء
- عند تسجيل
ActivityResultCallbackباستخدامLifecycleOwner، تم إصلاح مشكلة كانت تؤدي إلى تشغيل دالة الرجوع قبل أن تصل الحالة إلىSTARTED. (aosp/1309744)
التغييرات في السلوك
- تنشئ السمة
ActivityResultRegistryالآن رموز طلب تبدأ من0xFFFFبدلاً من0، ما يمنع التداخل عند استخدامstartActivityForResult()أوrequestPermissions()في أحد الأنشطة. (aosp/1302324)
الإصدار 1.2.0-alpha04
29 نيسان (أبريل) 2020
تم طرح androidx.activity:activity:1.2.0-alpha04 وandroidx.activity:activity-ktx:1.2.0-alpha04. يتضمّن الإصدار 1.2.0-alpha04 هذه التعديلات.
الميزات الجديدة
- تمت إضافة عقد يمكنه استدعاء startIntentSenderForResult إلى واجهات برمجة التطبيقات ActivityResult. (b/153007517)
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية الطريقة
prepareCall()لتصبحregisterForActivityResult()، وذلك علىComponentActivityهنا وفي Fragment1.3.0-alpha04. (aosp/1278717) - تمت إعادة تسمية العقود
GetContentsوOpenDocumentsوRequestPermissionsلتصبحGetMultipleContentsوOpenMultipleDocumentsوRequestMultiplePermissionsعلى التوالي. (aosp/1280161) - تتضمّن
ComponentActivityالآن واجهةActivityResultRegisteryOwner. (aosp/1290888) - - تم إيقاف واجهتَي برمجة التطبيقات
startActivityForResult()/onActivityResult()وonRequestPermissionsResult()علىComponentActivity. يُرجى استخدام واجهات برمجة التطبيقات لنتائج الأنشطة. (b/154751887)
إصلاح الأخطاء
- عند استخدام عقود
GetMultipleContentsوOpenMultipleDocumentsواختيار عنصر واحد، يتم الآن إرجاعه بشكل صحيح إلى دالة معاودة الاتصال. (b/152941153)
الإصدار 1.2.0-alpha03
1 نيسان (أبريل) 2020
تم طرح androidx.activity:activity:1.2.0-alpha03 وandroidx.activity:activity-ktx:1.2.0-alpha03. يتضمّن الإصدار 1.2.0-alpha03 هذه التعديلات.
الميزات الجديدة
- تمت إضافة العقود
TakeVideoوPickContactوGetContentوGetContentsوOpenDocumentوOpenDocumentsوOpenDocumentTreeوCreateDocumentإلى مجموعة العقود المُنشأة مسبقًا التي توفّرهاActivityResultContracts. (aosp/1262482 وaosp/1266916 وaosp/1268960) - تتيح واجهات برمجة التطبيقات Activity Result الآن بدء نشاط للحصول على نتيجة باستخدام
ActivityOptionsCompatاختياري. (b/151860054)
تغييرات واجهة برمجة التطبيقات
- يتلقّى العقد
TakePictureالآن إدخالاًUriلتحديد مكان تخزين الصورة. تمت إعادة تسمية العقد السابق الذي لا يتطلّب أي إدخال إلىTakePicturePreview. (aosp/1262482) - تمت إعادة تسمية طريقة
registerActivityResultCallback()فيActivityResultRegistryإلىregister(). (aosp/1267621) - تمت إعادة تسمية الطريقة
dispose()فيActivityResultLauncherلتصبحunregister()، كما تمت إزالةunregisterResultCallback()فيActivityResultRegistry. (aosp/1267621) - تتلقّى الطريقة
createIntent()فيActivityResultContactالآنContextبالإضافة إلى الإدخال لإتاحة إنشاء أغراض ضمنية. (aosp/1238800) - يمكن الآن
ActivityResultContractأن يتجاهلgetSynchronousResult()لتقديم نتيجة بدون استدعاءstartActivityForResult. يتم استخدام هذا الحقل في العقدَينRequestPermissionوRequestPermissionsلعرض الحالة "ممنوحة" بشكل صحيح إذا كانت الأذونات المطلوبة ممنوحة مسبقًا. (b/151110799) - تمت إزالة العقد
Dialالذي كان متاحًا سابقًا لأنّIntentليس مخصّصًا للاستخدام معstartActivityForResult(). (aosp/1266916) - أصبحت العديد من واجهات برمجة التطبيقات الخاصة بنتائج النشاط التي لم يكن من المفترض توسيعها
final. ويشمل ذلكgetActivityResultRegistry()وطُرقprepareCall()وجميع طُرقActivityResultRegistryباستثناءinvoke()وعددًا من العقود التلقائية التي لا تتيح إضافات اختيارية. (b/152439361)
إصلاح الأخطاء
- تم إصلاح
NullPointerExceptionفيActivityResultRegistryعند محاولة عرض النتائج في دالة رد الاتصال التي لم تتم إعادة تسجيلها بعد تغيير الإعدادات. يحتفظActivityResultRegistryالآن بهذه النتائج المعلّقة ويعرضها عند إعادة تسجيل دالة رد الاتصال. (b/152137004)
الإصدار 1.2.0-alpha02
18 مارس 2020
تم طرح androidx.activity:activity:1.2.0-alpha02 وandroidx.activity:activity-ktx:1.2.0-alpha02. يتضمّن الإصدار 1.2.0-alpha02 هذه التعديلات.
الميزات الجديدة
- ActivityResultRegistry: يوفّر
ComponentActivityالآنActivityResultRegistryيتيح لك التعامل معstartActivityForResult()+onActivityResult()بالإضافة إلى مساراتrequestPermissions()+onRequestPermissionsResult()بدون إلغاء الطرق في النشاط أو الجزء، كما يوفّر أمانًا محسّنًا للأنواع من خلالActivityResultContract، ويوفر خطافات لاختبار هذه المسارات. اطّلِع على الحصول على نتيجة من نشاط المعدَّل. (b/125158199)
الإصدار 1.2.0-alpha01
4 مارس 2020
تم طرح androidx.activity:activity:1.2.0-alpha01 وandroidx.activity:activity-ktx:1.2.0-alpha01. يتضمّن الإصدار 1.2.0-alpha01 هذه التعديلات.
الميزات الجديدة
- تمت إضافة دعم لواجهة برمجة التطبيقات
ViewTreeLifecycleOwner.get(View)التي تمت إضافتها في دورة الحياة2.3.0-alpha01، وذلك لكي تعرض النشاط على أنّهLifecycleOwnerلأي طرق عرض تمت إضافتها مباشرةً إلى النشاط. (aosp/1182955)
إصلاح الأخطاء
- تم إصلاح مشكلة تراجع تم رصدها في النشاط
1.1.0عند التشغيل على إصدارات قديمة من النظام الأساسي حيث كانonBackPressed()يتسبب في حدوثIllegalStateExceptionبسبب خطأ فيandroid.app.FragmentManager. (b/146290338)
الإصدار 1.1.0
الإصدار 1.1.0
22 يناير 2020
تم طرح androidx.activity:activity:1.1.0. يتضمّن الإصدار 1.1.0 هذه التعديلات.
التغييرات المهمة منذ الإصدار 1.0.0
- عملية دمج Lifecycle ViewModel SavedState: أصبح
SavedStateViewModelFactoryهو المصنع التلقائي المستخدَم عند استخدامby viewModels()أو الدالة الإنشائيةViewModelProviderأوViewModelProviders.of()معComponentActivityأو فئاته الفرعية.
الإصدار 1.1.0-rc03
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.activity:activity:1.1.0-rc03 وandroidx.activity:activity-ktx:1.1.0-rc03. يتضمّن الإصدار 1.1.0-rc03 هذه التعديلات.
التغييرات في التبعيات
- يعتمد النشاط الآن على Lifecycle
2.2.0-rc03وLifecycle ViewModel SavedState1.0.0-rc03.
الإصدار 1.1.0-rc02
7 نوفمبر 2019
تم طرح androidx.activity:activity:1.1.0-rc02 وandroidx.activity:activity-ktx:1.1.0-rc02. يتضمّن الإصدار 1.1.0-rc02 هذه التعديلات.
التغييرات في التبعيات
- يعتمد النشاط الآن على دورة الحياة
2.2.0-rc02.
الإصدار 1.1.0-rc01
23 تشرين الأول (أكتوبر) 2019
تم إصدار androidx.activity:activity:1.1.0-rc01 وandroidx.activity:activity-ktx:1.1.0-rc01 بدون أي تغييرات منذ 1.1.0-beta01. يتضمّن الإصدار 1.1.0-rc01 هذه التعديلات.
الإصدار 1.1.0-beta01
9 أكتوبر 2019
تم طرح androidx.activity:activity:1.1.0-beta01 وandroidx.activity:activity-ktx:1.1.0-beta01. يتضمّن الإصدار 1.1.0-beta01 هذه التعديلات.
التغييرات في التبعيات
- يعتمد النشاط الآن على الإصدار الثابت 1.0.0 من SavedState.
الإصدار 1.1.0-alpha03
5 أيلول (سبتمبر) 2019
تم طرح androidx.activity:activity:1.1.0-alpha03 وandroidx.activity:activity-ktx:1.1.0-alpha03. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الميزات الجديدة
- يعتمد النشاط الآن على الإصدار الثابت 1.1.0 من Core.
إصلاح الأخطاء
- يعتمد النشاط الآن على Lifecycle
2.2.0-alpha04.
الإصدار 1.1.0-alpha02
7 آب (أغسطس) 2019
تم طرح androidx.activity:activity:1.1.0-alpha02 وandroidx.activity:activity-ktx:1.1.0-alpha02. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الميزات الجديدة
- أصبحت
SavedStateViewModelFactoryهي المصنع التلقائي المستخدَم عند استخدامby viewModels()أو أداة إنشاءViewModelProviderأوViewModelProviders.of()معComponentActivity(b/135716331)
الإصدار 1.1.0-alpha01
2 تموز (يوليو) 2019
تم طرح androidx.activity:activity:1.1.0-alpha01 وandroidx.activity:activity-ktx:1.1.0-alpha01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الميزات الجديدة
- يعتمد
activityالآن على Lifecycle2.2.0-alpha02. (aosp/1007817) - أضافت
activity-ktxعنصرًا تابعًا لـlifecycle-runtime-ktx، ولم يعُد عليك إضافته بشكل صريح إلى العناصر التابعة عند استخدامactivity-ktxأو المكتبات التي تعتمد علىactivity-ktx(مثلfragment-ktx). (aosp/987162)
الإصدار 1.0.0
الإصدار 1.0.0
5 أيلول (سبتمبر) 2019
تم طرح androidx.activity:activity:1.0.0 وandroidx.activity:activity-ktx:1.0.0. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الميزات الرئيسية في الإصدار 1.0.0
- ComponentActivity: تعمل
ComponentActivityكفئة أساسية جديدة لـFragmentActivityفي Fragment1.1.0، وبالتاليAppCompatActivityفي AppCompat1.1.0. - activity-ktx: يتضمّن الوحدة
activity-ktxإضافة لخاصية Kotlinby viewModelsتتيح الوصول إلى ViewModels. يتم تضمين هذه الوحدة تلقائيًا عند تضمينfragment-ktxمن Fragment1.1.0. - OnBackPressedDispatcher: كبديل قابل للإنشاء لتجاوز
onBackPressed()، يمكنك الآن تسجيلOnBackPressedCallbackمن أيLifecycleOwner(مثل جزء) لاعتراض أحداث زر الرجوع في النظام. تمت إضافة دالة lambda مع إصدار المستقبِلaddCallbackإلىactivity-ktx. لمزيد من التفاصيل، راجِع مستندات توفير التنقّل المخصّص للخلف. - إيقاف onRetainCustomNonConfigurationInstance نهائيًا: تم إيقاف واجهة برمجة التطبيقات
onRetainCustomNonConfigurationInstance()وواجهة برمجة التطبيقاتgetLastCustomNonConfigurationInstance()ذات الصلة نهائيًا. ننصح بشدة باستخدام ViewModels لتخزين الحالة غير المتعلّقة بالإعدادات، لأنّها تقدّم حلاً قابلاً للإنشاء ومناسبًا لأيViewModelStoreOwnerيوضّح ملكية العناصر المحتفظ بها ويوفّر معاودة الاتصالonCleared()لتنظيف الموارد عند إيقاف النشاط نهائيًا.
الإصدار 1.0.0-rc01
2 تموز (يوليو) 2019
تم إصدار androidx.activity:activity:1.0.0-rc01 وandroidx.activity:activity-ktx:1.0.0-rc01 بدون أي تغييرات منذ 1.0.0-beta01. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الإصدار 1.0.0-beta01
5 يونيو 2019
تم إصدار androidx.activity::activity:1.0.0-beta01 وandroidx.activity:activity-ktx:1.0.0-beta01 بدون أي تغييرات منذ 1.0.0-alpha08. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
الإصدار 1.0.0-alpha08
7 أيار (مايو) 2019
تم طرح androidx.activity:activity:1.0.0-alpha08 وandroidx.activity:activity-ktx:1.0.0-alpha08. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
تغييرات واجهة برمجة التطبيقات
- تغيير غير متوافق مع الإصدارات القديمة: تمت إزالة الطريقتَين
addOnBackPressedCallbackوremoveOnBackPressedCallbackاللتَين تم إيقافهما نهائيًا سابقًا فيComponentActivity. aosp/953857 - أصبحت طريقتَا
setEnabled()وisEnabled()فيOnBackPressedCallbackنهائيتَين الآن. b/131416833 - أصبحت طريقة
remove()فيOnBackPressedCallbackنهائية الآن. aosp/952720 - يتضمّن
OnBackPressedDispatcherالآن أدوات إنشاء عامة، ما يتيح لك إنشاء مثيلات خاصة بك للاختبار وغير ذلك. aosp/953431 - تم الآن تصنيف
onBackPressed()على أنّه@MainThreadaosp/952721ComponentActivity
إصلاح الأخطاء
- تم إصلاح
ConcurrentModificationExceptionعند استدعاءremove()من داخل طريقةhandleOnBackPressed()لعنصرOnBackPressedCalbackتمت إضافته باستخدامLifecycleOwner. b/131765095
الإصدار 1.0.0-alpha07
25 أبريل 2019
تم طرح androidx.activity:activity:1.0.0-alpha07 وandroidx.activity:activity-ktx:1.0.0-alpha07. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
تغييرات واجهة برمجة التطبيقات
يُجري هذا الإصدار تغييرات كبيرة على طريقة التعامل مع onBackPressed(). لمزيد من التفاصيل، يمكنك الاطّلاع على مستندات زر الرجوع المخصّص المعدَّلة.
- تم وضع علامة
@MainThreadعلى طريقتَيOnBackPressedCallbackوOnBackPressedDispatcher. (aosp/943813) - لم يعُد الإجراء
handleOnBackPressed()يعرضboolean. بدلاً من ذلك، أصبحتOnBackPressedCallbackالآن فئة مجرّدة يمكن تفعيلها أو إيقافها. ولن يتم استدعاءhandleOnBackPressed()إلا عندما تعرض الطريقة الجديدةisEnabled()القيمة "صحيح"، وفي هذه الحالة يجب معالجة زر الرجوع. (aosp/944518) - لم تعُد طرق
addCallbackفيOnBackPressedDispatcherتعرض مثيلاً منCancellable. تحتويOnBackPressedCallbackالآن على طريقةremove()تؤدي هذه الوظيفة، ما يتيح لك استدعاءremove()أثناءhandleOnBackPressed(). (aosp/944519) (aosp/946316) - يحتوي
activity-ktxالآن على دالة ردّ اتصال محدودة النطاق للمستلِم خاصة بـaddCallbackتقبل تعبير lambda ينفّذhandleOnBackPressed()ويمكنه الوصول إلىisEnabledوremove()(aosp/944520)
الإصدار 1.0.0-alpha06
3 أبريل 2019
تم طرح androidx.activity:activity:1.0.0-alpha06 وandroidx.activity:activity-ktx:1.0.0-alpha06. يمكنك الاطّلاع على التعديلات في هذا الإصدار هنا.
تغييرات واجهة برمجة التطبيقات
- يحتوي ComponentActivity الآن على دالة إنشاء ثانية تأخذ
@LayoutRes int، ما يحلّ محل السلوك السابق المتمثل في إضافة التعليقات التوضيحية إلى فئة AppCompatActivity باستخدام@ContentView. يعمل هذا الأسلوب في كلّ من وحدات التطبيق والمكتبة. (b/128352521) - تم إيقاف واجهات برمجة التطبيقات ذات الصلة بـ
OnBackPressedCallbackفي ComponentActivity نهائيًا لصالحOnBackPressedDispatcherالجديد، ويمكن استرداده من خلالgetOnBackPressedDispatcher(). (aosp/922523) - إنّ طرق إضافة
OnBackPressedCallbackجديدة إلىOnBackPressedDispatcherتعرض الآن عنصرCancellable، ما يتيح إزالة معاودة الاتصال بدون الحاجة إلى مرجع صريح إلىOnBackPressedDispatcher. (aosp/922523) - تؤدي إضافة
OnBackPressedCallbackمعLifecycleOwnerمرتبطة بها الآن إلى إضافةOnBackPressedCallbackوإزالتها عند بدء Lifecycle وإيقافه، على التوالي. (aosp/922523)
الإصدار 1.0.0-alpha05
13 مارس 2019
تم طرح androidx.activity:activity:1.0.0-alpha05 وandroidx.activity:activity-ktx:1.0.0-alpha05. يمكنك الاطّلاع على القائمة الكاملة للتعديلات في هذا الإصدار هنا.
الميزات الجديدة
- تم الآن تخزين عمليات البحث عن التعليقات التوضيحية في
@ContentViewمؤقتًا (b/123709449)
الإصدار 1.0.0-alpha04
30 يناير 2019
تم طرح androidx.activity:activity 1.0.0-alpha04 وandroidx.activity:activity-ktx 1.0.0-alpha04.
الميزات الجديدة
- تمت إضافة إمكانية استخدام التعليق التوضيحي للفئة
@ContentViewالذي يتيح لك تحديد ملف XML للتصميم الذي يجب تضخيمه كبديل لاستخدامsetContentView(). (aosp/837619)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة ملاحظة تفيد بأنّه يجب عدم إلغاء
getViewModelStore()وسيتم إتاحته نهائيًا في إصدار مستقبلي. يُرجى إرسال طلب ميزة إذا كنت تتجاهل هذه الطريقة حاليًا. (aosp/837619)
إصلاح الأخطاء
- تعتمد الوحدة
activityالآن على الإصدار 2.1.0-alpha02 من ViewModel لتتطابق مع تبعية الوحدةactivity-ktx.
الإصدار 1.0.0-alpha03
17 كانون الأول (ديسمبر) 2018
تم طرح androidx.activity 1.0.0-alpha03.
الميزات الجديدة
- تنفِّذ فئة ComponentActivity الآن
BundleSavedStateRegistryOwnerوتعتمد على مكتبة SavedState التي تم إصدارها حديثًا [aosp/815133]. - تعمل فئة ComponentActivity الآن على حلّ خطأ في إطار عمل Android كان يتسبّب في تسرُّب آخر عرض تم التركيز عليه في InputMethodManager [b/37122102].
الإصدار 1.0.0-alpha02
3 كانون الأول (ديسمبر) 2018
تغييرات واجهة برمجة التطبيقات
- تمت إضافة ملاحظة تفيد بأنّه يجب عدم إلغاء
getLifecycle()وسيتم إتاحةfinalفي إصدار مستقبلي. يُرجى إرسال طلب ميزة إذا كنت تتجاوز هذه الطريقة حاليًا. (aosp/815834)
الإصدار 1.0.0-alpha01
5 نوفمبر 2018
تقدّم androidx.activity 1.0.0-alpha01
ComponentActivity، وهي فئة أساسية جديدة للفئتين FragmentActivity وAppCompatActivity الحالية.
الميزات الجديدة
- يمكنك الآن تسجيل
OnBackPressedCallbackمن خلالaddOnBackPressedCallbackلتلقّي عمليات رد الاتصالonBackPressed()بدون الحاجة إلى إلغاء الإجراء في نشاطك. - تمت إضافة تفويض جديد لسمة
by viewModels()Kotlin من أجل استردادViewModelمنComponentActivity. - تم الآن إلغاء أحداث الإدخال المعلّقة (مثل النقرات) في
onStop().
تغييرات واجهة برمجة التطبيقات
- تم نقل عملية تنفيذ
LifecycleOwnerوViewModelStoreOwnerمنFragmentActivityإلىComponentActivity. - تم إيقاف
onRetainCustomNonConfigurationInstanceنهائيًا. استخدِمViewModelلتخزين العناصر التي يجب أن تظل متاحة عند إجراء تغييرات في الإعدادات.