النشاط

يمكنك الوصول إلى واجهات برمجة التطبيقات القابلة للإنشاء والمستندة إلى ميزة "النشاط".
التعديل الأخير الإصدار المستقر إصدار مرشح الإصدار التجريبي إصدار ألفا
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.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 هذه الالتزامات.

تحذير من وجود الوبر

إصلاح الأخطاء

  • في حال إرسال حدث رجوع من النظام أثناء إجراء "إيماءة رجوع توقّعي" قيد التشغيل حاليًا، يتم إلغاء "إيماءة الرجوع إلى الخلف التنبؤية" قيد التشغيل حاليًا، وسيتولى حدث الرجوع الجديد لبدء إيماءة رجوع توقّعية جديدة. (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.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.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.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.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" طريقة تعليق تشير عند اكتمالها إلى أنّك مستعد للتفاعل.

التعديلات على المهام التابعة للتبعية

الإصدار 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 هذه الالتزامات.

تعديل التبعية

الإصدار 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)

تعديل التبعية

الإصدار 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.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)

تعديل التبعية

الإصدار 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 هذه الالتزامات.

التعديلات المتعلقة بالاعتمادية

الإصدار 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 على هذه الالتزامات.

الميزات الجديدة

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة كتابة الفئة 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)

المساهمة الخارجية

  • نشكرك dmitrilc على إصلاح خطأ إملائي في مستندات ActivityResult. (#221)

الإصدار 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 إلا مع إصدار Compose 1.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.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)

التعديلات على المهام التابعة للتبعية

الإصدار 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 سيتم تشغيله بعد المستمع هذا.
  • دعم ViewTree: يتيح ComponentActivity الآن واجهات برمجة التطبيقات ViewTreeLifecycleOwner.get(View) وViewTreeViewModelStoreOwner.get(View) وViewTreeSavedStateRegistryOwner التي تمت إضافتها في رحلة المستخدِم 2.3.0 وSavedState 1.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)

إصلاح الأخطاء

  • تم إصلاح مشكلة عملية التحقّق من الوبر في 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 على هذه الالتزامات.

الميزات الجديدة

تغييرات واجهة برمجة التطبيقات

  • يعرض عقد 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 المحفوظState 1.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.

إصلاح الأخطاء

الإصدار 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 في Fragment 1.1.0، وبالتالي AppCompatActivity في AppCompat 1.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 لتخزين العناصر التي تحتاج إلى تنفيذ تغييرات الإعدادات.