النشاط
التعديل الأخير | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | إصدار ألفا |
---|---|---|---|---|
17 نيسان (أبريل) 2024 | 1.9.0 | - | - | - |
إعلان التبعيات
لإضافة تبعية إلى النشاط، يجب إضافة مستودع Maven إلى مشروعك. لمزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة الخاصة بك:
Groovy
dependencies { def activity_version = "1.9.0" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.0" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
لمزيد من المعلومات حول التبعيات، انظر إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
الإصدار 1.9
الإصدار 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 على هذه الالتزامات.
تعديل التبعية
- يعتمد النشاط الآن على أداة تثبيت الملف الشخصي 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 على هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح انحدار في أداء بدء النشاط الذي تم تقديمه في النشاط
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 هذه الالتزامات.
تحذير من وجود الوبر
- تعرض واجهات برمجة التطبيقات
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 الناجحة
- تمت كتابة
ActivityResultRegistry
بلغة Kotlin. يضمن ذلك أنّ القيم العامة في العقد الذي تم تمريره إلىregister
سيتم تمريرها بشكل صحيح إلىActivityResultLauncher
التي تم إرجاعها إليك. (I121f0) - تمت كتابة
ActivityResult
بلغة Kotlin. تم نقل إضافاتActivityResult
Kotlin التي تتيح تدمير الحقلين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
. (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
" القابلة للإنشاء للتعامل مع أحداث إيماءة الرجوع إلى الخلف التنبؤية في ميزة "إنشاء النشاط". توفِّر هذه السياسة تدفق كائنات BackEventCompat التي يجب جمعها في مساحة التخزين المعلَّقة التي توفِّرها:
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 هذه الالتزامات.
الميزات الجديدة
أضافت ميزة "إنشاء النشاط" عنصر
PredictiveBackHandler
جديد قابل للإنشاء للتعامل مع أحداث إيماءات الرجوع التنبؤية. وتوفّر هذه السياسةFlow
منBackEventCompat
عنصر يجب جمعها في لوحة التعليق التي تقدِّمها: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
، يمكنك الآن إلغاء مَعلمةdetectDarkMode
lambda لتوفير منطق مخصّص لرصد الوضع الليلي. (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
. تم تطوير هذا الإصدار في فرع داخلي.
تغييرات واجهة برمجة التطبيقات
- يوفّر النشاط الآن فئة
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)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في أن الأجزاء تؤدي إلى إلغاء صلاحية MenuHosts بشكل غير صحيح والتسبب في حدوث سلوك غير متوقع للقوائم الأخرى في النشاط. (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 عند اكتمال بدء التشغيل لضمان تشغيل جميع الرموز أثناء تسلسل بدء تشغيل متعدد الإطارات ومنحها الأولوية للتجميع في الخلفية
- الإشارة إلى "مقياس الأداء الكلي" و"مؤشرات Play الحيوية" عندما يجب اعتبار تطبيقك مرسومًا بالكامل وفقًا لمقاييس الشركات الناشئة، ما يتيح لك تتبُّع الأداء.
تمت إضافة ثلاث واجهات برمجة تطبيقات لإنشاء النشاط لتسهيل استخدام "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 الناجحة
- تمت كتابة
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 الناجحة
- تم تحويل الصفَّين
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 عند اكتمال بدء التشغيل لضمان تشغيل جميع الرموز أثناء تسلسل بدء تشغيل متعدد الإطارات ومنحها الأولوية للتجميع في الخلفية
- الإشارة إلى "مقياس الأداء الكلي" و"مؤشرات Play الحيوية" عندما يجب اعتبار تطبيقك مرسومًا بالكامل وفقًا لمقاييس الشركات الناشئة، ما يتيح لك تتبُّع الأداء.
تمت إضافة واجهتَي برمجة تطبيقات لإنشاء النشاط بهدف تسهيل استخدام "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
" على أجهزة 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
في Android 13 في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
" الآن على دورة الحياة2.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 ليتوافق مع حزمة تطوير البرامج (SDK) الخاصة بالإصدار التجريبي 3 من Tiramisu.
إصلاح الأخطاء
- تم إصلاح العُطل على الأجهزة القديمة عند البحث عن إضافة حزمة SDK في
PickVisualMedia
ActivityResultContract
، لكي تعمل الإضافة الآن مع "ACTION_OPEN_DOCUMENT
" على الأجهزة التي تعمل بالإصدار 10 من نظام التشغيل Android والإصدارات الأقدم.
الإصدار 1.6.0-alpha04
18 أيار (مايو) 2022
تم طرح androidx.activity:activity:1.6.0-alpha04
وandroidx.activity:activity-ktx:1.6.0-alpha04
.
إصلاح الأخطاء
- تم إصلاح خطأ في
PickVisualMediaRequest
حيث كانت محاولة إنشاء طلب، إما من خلال أداة الإنشاء أو دالة Kotlin ذات المستوى الأعلى، تؤدي إلى تجاوز تسلسل استدعاء الدوال البرمجية. - تم دمج
OnBackInvokedCallback
في الإصدار التجريبي 2 من نظام التشغيل 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) التجريبية 1 للمطوّرين على نظام التشغيل Android 13.
الميزات الجديدة
- تمت إضافة
ActivityResultContracts.PickVisualMedia
وActivityResultContracts.PickMultipleVisualMedia
لتوفير عقد متوافق مع الأنظمة القديمة يستخدمMediaStore.ACTION_PICK_IMAGES
عند توفّر أداة اختيار الصور، وIntent.ACTION_OPEN_DOCUMENT
في حال عدم توفّره. - تم دمج
OnBackInvokedCallback
في الإصدار التجريبي 1 من نظام التشغيل 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) الخاصة بـ "معاينة المطوِّر" من نظام التشغيل Android 13.
الميزات الجديدة
- التغييرات المُدمَجة في معاينة الإصدار 2 من 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
" الآن على دورة الحياة2.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
هي فئة فرعية منDialog
تتضمنOnBackPressedDispatcher
سيتم طلبها عند الضغط على زر الرجوع في النظام ويكون مربع الحوار مرئيًا. والأهم من ذلك أنّ هذه الفئة الفرعية تضبط أيضًاViewTreeOnBackPressedDispatcherOwner
، ما يتيح طرق العرض طريقة عامة لاسترداد المرسِل الصحيح سواء كان متوفرًا فيComponentActivity
أوComponentDialog
. - واجهات معاودة الاتصال - تنفِّذ
ComponentActivity
الآن مجموعة من واجهات معاودة الاتصال النموذجية التي يمكن استخدامها بدلاً من معاودة الاتصالActivity
. تتضمّن هذه الواجهات ما يلي:OnNewIntentProvider
وOnConfigurationChangedProvider
وOnTrimMemoryProvider
وOnPictureInPictureModeChangedProvider
وOnMultiWindowModeChangedProvider
. - CreationExtras Integration: بإمكان "
ComponentActivity
" الآن توفير إذنViewModelProvider.Factory
بدون حالة من خلال الإضافةCreationExtras
إلى رحلة المستخدم2.5.0
في دورة الحياة2.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 إلى الإصدار التجريبي 01. يحتوي الإصدار 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()
فيComponentActivity
الآن أيضًا ميزةonPanelClosed()
المميزة، ما يؤدي إلى إصلاح مشكلة لا يمكن فيها استدعاء طريقة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، التي تم تقديمها كجزء من دورة الحياة2.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
في الخطأ، ما يمنعك من استدعاء طريقة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. - تعتمد ميزة "إنشاء النشاط" الآن على ميزة "إنشاء"
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
طريقة الإضافة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
واستعادتها بشكل صحيح كي لا تتكرر عمليات الاستدعاء في حالةsaveState. (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
للاعتماد على إنشاء 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 هذه الالتزامات.
الميزات الجديدة
- تعرض قيمة
ActivityResultContract
الجديدةCaptureVideo
قيمة منطقية لـActivityResultCallback
تشير إلى ما إذا تم حفظ الفيديو بنجاح على معرّف الموارد المنتظم (URI) المحدد. يحلّ هذا البرنامج محلّ عقدTakeVideo
المتوقّف نهائيًا، لأنّ تطبيقات الكاميرا نادرًا ما توفّر إمكانية عرض صورة نقطية، ما يجعل النتيجة غير مفيدة. (Ie21f2، b/185938070) - تمت إضافة واجهة برمجة التطبيقات
Activity#setPipAnimationHintView
الجديدة لتعديل تلميح مصدر PipParams كلما تحرك العرض. (I9063d)
تغييرات واجهة برمجة التطبيقات
- تعرض وظيفة
rememberLauncherForActivityResult
الآن مشغِّل تطبيقات يوقِف وظيفةunregister()
نهائيًا. يعالجrememberLauncherForActivityResult
تلقائيًا عملية التسجيل وإلغاء تسجيل مشغِّل التطبيقات. (I2443e)
التوافق مع الكتابة
- لا يتوافق
androidx.activity:activity-compose:1.3.0-alpha08
إلا مع إصدار Compose1.0.0-beta07
والإصدارات الأحدث.
الإصدار 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) - إنّ استخدام إصدارات غير ثابتة من أجزاء أعلى من
1.3.0
لن يؤدي إلى ظهور خطأ الخطأ الموجبة الخاطئة الذي يخبرك باستخدام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
مرة أخرى، وحالات معاودة الاتصال الأخرى تمت إضافتها باستخدام مالك دورة الحياة. (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
التي أدت إلى ظهور موجب خاطئ عند استخدام Fragment 1.3.1 أو الإصدارات الأحدث. (I54da1، b/182388985) - من النشاط 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) - لم يعد إنشاء النشاط يضيف تبعيات اختبارية إلى مسار فئة وقت التشغيل. (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 هذه الالتزامات.
الميزات الجديدة
- تتوفّر الآن دالة
registerForActivityResult
قابلة للإنشاء للحصول على نتائج من الأنشطة داخل العناصر القابلة للإنشاء. (Ia7851، b/172690553)
تغييرات واجهة برمجة التطبيقات
- يتضمّن
LocalOnBackPressedDispatcherOwner
الآن دوالprovides
يمكن استخدامها معCompositionLocalProvider
، بدلاً منasProvidableCompositionLocal()
API. (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
. يجب أن يعتمد جميع مستخدمي Compose على الإصدار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)
- تم نقل "
المشاكل المعروفة
- سيؤدي استخدام
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 واستعادتها بشكل صحيح، وبالتالي لا يتم تكرار عمليات الاستدعاء في حالةsaveState. (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) - تم إصلاح خطأ الخطأ الموجبة الخاطئة الذي يخبرك باستخدام جزء
1.3.0
عند استخدام لقطة أو إصدار ألفا أو إصدار تجريبي أو إصدار RC لإصدار أحدث من الأجزاء. (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
التي أدت إلى ظهور موجب خاطئ عند استخدام Fragment 1.3.1 أو الإصدارات الأحدث. (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
واجهة برمجة التطبيقات هذه في الجزء 1.3.0 لاستعادة حالةFragmentManager
. أي مستمعين تتم إضافتهم إلى الفئات الفرعية فيFragmentActivity
سيتم تشغيله بعد المستمع هذا. - يستخدم
AppCompatActivity
واجهة برمجة التطبيقات هذه في AppCompat 1.3.0-alpha02 أو الإصدارات الأحدث. أي مستمعين تتم إضافتهم إلى الفئات الفرعية فيAppCompatActivity
سيتم تشغيله بعد المستمع هذا.
- يتيح لك تعليق إضافة Kotlin
دعم
ViewTree
: يتيحComponentActivity
الآن واجهات برمجة التطبيقاتViewTreeLifecycleOwner.get(View)
وViewTreeViewModelStoreOwner.get(View)
وViewTreeSavedStateRegistryOwner
التي تمت إضافتها في رحلة المستخدِم2.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
حتى تصبح دورة الحياة
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
والتي تسبّبت في تعطُّله عند استخدام الإصدار 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
تتأكّد من أنّك تستخدم الجزء1.3.0-alpha07
عند استخدام Activity Result API، وتتجنّب أعطال وقت التشغيل بسبب مشاكل "رمز طلب غير صالح" وطلبات الحصول على أذونات لا تعمل بسبب استخدام الإصدارات القديمة من الأجزاء. (b/152554847)
المساهمة الخارجية
- تم إصلاح
ArrayIndexOutOfBoundsException
عند تحليل نتائج عقد نتائج النشاطRequestPermission
. (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
هنا وفي الجزء1.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) - تتيح واجهات برمجة التطبيقات لنتائج النشاط الآن إمكانية إطلاق نشاط للنتائج من خلال السمة
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.3.0-alpha02
الإصدار 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
- دالة ViewModel SaveState Integration: تم الآن ضبط "
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 على هذه الالتزامات.
التغييرات المتعلّقة بالتبعية
- يعتمد النشاط الآن على مرحلة النشاط
2.2.0-rc03
وWebcycle ViewModel المحفوظState1.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 على هذه الالتزامات.
التغييرات المتعلّقة بالتبعية
- يعتمد النشاط الآن على الثابت في SaveState 1.0.0.
الإصدار 1.1.0-alpha03
5 أيلول (سبتمبر) 2019
تم طرح androidx.activity:activity:1.1.0-alpha03
وandroidx.activity:activity-ktx:1.1.0-alpha03
. يمكنك الاطّلاع هنا على العمولات التي تم تضمينها في هذا الإصدار.
الميزات الجديدة
- يعتمد النشاط الآن على الإصدار الثابت من Core 1.1.0.
إصلاح الأخطاء
- يعتمد النشاط الآن على دورة الحياة
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
. (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
إضافة خاصيةby viewModels
Kotlin للوصول إلى ViewModels. يتم تضمين هذه الوحدة تلقائيًا عند تضمينfragment-ktx
من الجزء1.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 - تم الآن وضع علامة
@MainThread
aosp/952721 بشكل واضح علىonBackPressed()
للنطاق "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
الآن فئة مجرّدة يمكن تفعيلها أو إيقافها. فقط عندما تكون قيمةisEnabled()
الجديدة هي "صحيح"، سيتم استدعاءhandleOnBackPressed()
، ويجب الضغط على زر الرجوع من خلاله. (aosp/944518) - لم تعُد طُرق
addCallback
الخاصة بـOnBackPressedDispatcher
تعرض مثيلCancellable
. يحتويOnBackPressedCallback
الآن على طريقةremove()
التي تستوفي هذه الوظيفة، ما يسمح لك بالاتصال بـremove()
أثناءhandleOnBackPressed()
. (aosp/944519) (aosp/946316) - يحتوي
activity-ktx
الآن على رد اتصال على مستوى جهاز الاستقبال لعنوانaddCallback
يقبل lamdba تنفِّذ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
ويعتمد على مكتبة SaveState التي تم إصدارها حديثًا [aosp/815133]. - يعمل ComponentActivity الآن على حل خطأ إطار عمل Android والذي قد يتسبب في تسريب InMethodManager لآخر عرض مركّز [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
لتخزين العناصر التي تحتاج إلى تنفيذ تغييرات الإعدادات.