النشاط
آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
2 يوليو 2025 | 1.10.1 | 1.11.0-rc01 | - | 1.12.0-alpha04 |
تعريف التبعيات
لإضافة تبعية على Activity، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { def activity_version = "1.10.1" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.10.1" // 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-alpha04
2 يوليو 2025
تم إصدار 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-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 عمليات الدمج هذه.
إصلاح الأخطاء
- يمكن الآن حلّ
ViewTree
OnBackPressedDispatcherOwners
و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
وPickMultipleVisualMedia
لنتائج الأنشطة اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراءACTION_SYSTEM_FALLBACK_PICK_IMAGES
العام والإضافات ذات الصلة لتوفير تجربة متسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي. LocalActivity
تركيبة جديدة محلية توفّر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
. يتضمّن أيضًا قاعدة تدقيق جديدة تتحقّق من الحالات التي يتم فيها تحويلLocalContext
بشكل غير صحيح إلىActivity
. (I7746a، b/283009666)
إصلاح الأخطاء
- من النشاط
1.9.3
: لن يتم تشغيلPredictiveBackHandler
بعد إيقاف المعالج. سيؤدي ذلك إلى حلّ المشكلة التي يتسبّب فيهاNavHost
من Navigation Compose في عرضIndexOutOfBoundsException
. (I3f75e، b/365027664، b/340202286)
تحديث التبعية
- تعتمد Activity Compose الآن على الإصدار 1.7.0 من Compose Runtime (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
وPickMultipleVisualMedia
لنتائج الأنشطة اللذان يؤديان إلى تشغيل "أداة اختيار الصور" يفوّضان المهام مباشرةً إلى "خدمات Google Play" في حال عدم توفّر "أداة اختيار الصور" في النظام، بل يستخدمان الإجراءACTION_SYSTEM_FALLBACK_PICK_IMAGES
العام والإضافات ذات الصلة لتوفير تجربة متسقة في "أداة اختيار الصور" لمصنّعي المعدات الأصلية وتطبيقات النظام كحلّ احتياطي. من المفترض ألا يؤثر ذلك في تجربة المستخدم على الأجهزة التي يتوفّر عليها إصدار حديث من "خدمات Google Play". (I3513d)
إصلاح الأخطاء
- تمت إزالة التحديد اليدوي لإمكانية الوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 3.3 من R8)، وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 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. تم نقل إضافات KotlinActivityResult
التي تتيح تقسيم البيانات إلى الحقلَين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 من واجهة برمجة التطبيقات كحدّ أدنى، وهو المستوى نفسه الذي يستهدفه عقدPickVisualMedia
Activity Result. (Id6e21)
تحديث التبعية
- يعتمد النشاط الآن على المقياس الأساسي
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()
التي يتم تنفيذها عند تأكيد إيماءة الرجوع. يأتي ذلك أيضًا معPredictiveBackHandler
Composable للتعامل مع أحداث إيماءة الرجوع التوقّعية في 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 لضمان تنفيذ طلبات
Flow
collect()
. (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 من "النشاط": - لم يعُد يتم تسريب
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
طريقة تعليق تشير عند اكتمالها إلى أنّك جاهز للتفاعل.
تحديثات التبعيات
- يعتمد النشاط الآن على دورة الحياة
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)
، والتي ستعرض ما إذا كان "أداة اختيار الصور" متوفّرة. (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
: تم إصلاح مشكلة عدم إطلاق عقدPickMultipleVisualMedia
لنتيجة النشاط على أجهزة 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 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة عدم إطلاق عقد
PickMultipleVisualMedia
Activity 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
الآن على الإصدارLifecycle
2.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 إلى
PickVisualMedia
ActivityResultContract
، وبالتالي من المفترض أن تعمل الآن مع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 على عمليات الإيداع هذه.
تحديثات التبعيات
- يعتمد النشاط الآن على دورة الحياة
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 على عمليات الإيداع هذه.
تحديثات التبعيات
- يعتمد النشاط الآن على Kotlin
1.5.21
. - تعتمد ميزة "إنشاء النشاط" الآن على 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: يحلّ العقد
CaptureVideo
ActivityResultContract
محلّ العقد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 على عمليات الإيداع هذه.
الميزات الجديدة
- تعرض الدالة الجديدة
CaptureVideo
ActivityResultContract
قيمة منطقيةActivityResultCallback
تشير إلى ما إذا تم حفظ الفيديو بنجاح في معرّف الموارد الموحّد (URI) المحدّد. يحلّ هذا الإجراء محلّ العقدTakeVideo
الذي تم إيقافه نهائيًا، لأنّ تطبيقات الكاميرا نادرًا ما كانت تتيح عرض صورة مصغّرة بتنسيق نقطي، ما يجعل النتيجة غير مفيدة. (Ie21f2، b/185938070) - تمت إضافة واجهة برمجة تطبيقات جديدة
Activity#setPipAnimationHintView
لتعديل تلميح مستطيل المصدر الخاص بـ PipParams كلما تحركت طريقة العرض. (I9063d)
تغييرات واجهة برمجة التطبيقات
- تعرض الدالة
rememberLauncherForActivityResult
الآن مشغّلاً يوقف الدالةunregister()
نهائيًا، إذ تتولّى الدالةrememberLauncherForActivityResult
تلقائيًا عملية تسجيل المشغّل وإلغاء تسجيله. (I2443e)
توافق Compose
- لا يتوافق
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) - لن تؤدي بعد ذلك الإصدارات غير الثابتة من Fragment التي تتجاوز
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 من "مكتبة الأنشطة": تم إصلاح مشكلة في عملية فحص
InvalidFragmentVersionForActivityResult
lint التي أدّت إلى ظهور نتيجة إيجابية خاطئة عند استخدام الإصدار 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
حيث كان يتم استخدام دالةonBack
lambda التي تم ضبطها سابقًا بعد إعادة التركيب. (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 على عمليات الإيداع هذه.
الميزات الجديدة
- تتوفّر الآن دالة Composable
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
للسماح لأحد عناصر Composable باعتراض زر الرجوع في النظام. (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 عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في عملية فحص
InvalidFragmentVersionForActivityResult
lint أدت إلى ظهور نتيجة إيجابية خاطئة عند استخدام الإصدار 1.3.1 أو إصدار أحدث من Fragment. (I54da1، b/182388985) - يتجنّب
ComponentActivity
الآنClassNotFoundException
عند تشغيلIntent
منActivityResultContract
تمّت إضافته سابقًا كنسخة إضافية فيIntent
آخر. (Ieff05، b/182906230)
تحديثات التبعيات
- يعتمد النشاط الآن على دورة الحياة
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 المعلق
ViewTree
Support: تتوافق المكتبة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
عند تحليل النتائج الخاصة بعقدRequestPermission
Activity 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
من Lifecycle2.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.
إصلاح الأخطاء
- يعتمد النشاط الآن على دورة الحياة
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
الآن على2.2.0-alpha02
في Lifecycle. (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()
على أنّه@MainThread
aosp/952721 بشكل صريح.ComponentActivity
إصلاح الأخطاء
- تم إصلاح
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
وإزالتها عند بدء دورة الحياة وإيقافها، على التوالي. (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 property delegate جديد لاستردادViewModel
s منComponentActivity
. - تم الآن إلغاء أحداث الإدخال المعلّقة (مثل النقرات) في
onStop()
.
تغييرات واجهة برمجة التطبيقات
- تم نقل عملية تنفيذ
LifecycleOwner
وViewModelStoreOwner
منFragmentActivity
إلىComponentActivity
. - تم إيقاف
onRetainCustomNonConfigurationInstance
نهائيًا. استخدِمViewModel
لتخزين العناصر التي يجب أن تظل متاحة عند إجراء تغييرات في الإعدادات.