الحالة المحفوظة

كتابة المكونات القابلة للتوصيل التي تحفظ حالة واجهة المستخدم عند إيقاف العملية، واستعادتها عند إعادة تشغيل العملية.
التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
7 أغسطس 2024 1.2.1 - - 1.3.0-alpha01

إعلان التبعيات

لإضافة تبعية إلى SaveState، يجب إضافة مستودع Google Maven إلى مشروعك. الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle لـ لتطبيقك أو الوحدة التي تستخدمها:

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.savedstate:savedstate:1.2.1"

    // Kotlin
    implementation "androidx.savedstate:savedstate-ktx:1.2.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.savedstate:savedstate:1.2.1")

    // Kotlin
    implementation("androidx.savedstate:savedstate-ktx:1.2.1")
}

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.

إنشاء عدد جديد

يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.

الإصدار 1.3

الإصدار 1.3.0-alpha01

7 أغسطس 2024

تم طرح androidx.savedstate:savedstate:1.3.0-alpha01 وandroidx.savedstate:savedstate-ktx:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على عمليات التنفيذ هذه.

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

  • تم الآن نقل إضافات kotlin savedstate-ktx إلى وحدة savedstate الأساسية. (I1cc18، b/274803094)

ملاحظة

  • تعديل compileSdk إلى 35 (5dc41be)

الإصدار 1.2.1

الإصدار 1.2.1

22 آذار (مارس) 2023

تم طرح androidx.savedstate:savedstate:1.2.1 وandroidx.savedstate:savedstate-ktx:1.2.1. يحتوي الإصدار 1.2.1 على عمليات الالتزام هذه.

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

الإصدار 1.2.0

الإصدار 1.2.0

29 حزيران (يونيو) 2022

تم طرح androidx.savedstate:savedstate:1.2.0 وandroidx.savedstate:savedstate-ktx:1.2.0. يحتوي الإصدار 1.2.0 على هذه عمليات التنفيذ.

تغييرات مهمة منذ الإصدار 1.1.0

  • يسمح SavedStateRegistryController الآن بالإرفاق المبكر لـ SavedStateRegistry عبر performAttach().
  • يمكنك الآن استرداد SavedStateProvider تم تسجيله سابقًا من SavedStateRegistry عبر getSavedStateProvider().
  • تمت إعادة كتابة مكتبة SavedState بلغة Kotlin.
    • بالنسبة إلى SavedStateRegistryOwner، هذا تغيير غير متوافق في المصدر لتلك الفئات المكتوبة بلغة Kotlin، وعليك الآن إلغاء السمة savedStateRegistry بدلاً من تنفيذ دالة getSavedStateRegistry() السابقة.
    • بالنسبة إلى ViewTreeSavedStateRegistryOwner، هذا تغيير مصدر غير متوافق لتلك الفئات المكتوبة بلغة Kotlin. يجب الآن استيراد طرق إضافة Kotlin واستخدامها على View من androidx.savedstate.setViewTreeSavedStateRegistryOwner وandroidx.savedstate.findViewTreeSavedStateRegistryOwner لضبط مالك تم إعداده سابقًا والعثور عليه. يحل ذلك محلّ واجهة برمجة تطبيقات savedstate-ktx الخاصة بالموقع الإلكتروني findViewTreeSavedStateRegistryOwner.

تغييرات السلوك

  • لم يعُد SavedStateRegistry يحفظ حزمة فارغة في حال عدم توفّر ولاية لحفظها.

الإصدار 1.2.0-rc01

11 أيار (مايو) 2022

تم طرح androidx.savedstate:savedstate:1.2.0-rc01 وandroidx.savedstate:savedstate-ktx:1.2.0-rc01. يحتوي الإصدار 1.2.0-rc01 على هذه عمليات التنفيذ.

التغييرات التي تطرأ على المستندات

  • تم تعديل Kdocs SavedStateRegistryOwner لتوضيح المسؤوليات والعقد الذي تقع على عاتق المالك بشأن كيفية تنفيذ الواجهة أو الوقت الذي يجب فيه استدعاء الطرق على SavedStateRegistryController. (Iefc95، b/228887344)

الإصدار 1.2.0-beta01

20 نيسان (أبريل) 2022

تم طرح androidx.savedstate:savedstate:1.2.0-beta01 وandroidx.savedstate:savedstate-ktx:1.2.0-beta01. يحتوي الإصدار 1.2.0-beta01 على عمليات التنفيذ هذه.

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

  • تمت إعادة كتابة الصفَّين SavedStateRegistry وViewTreeSavedStateRegistryOwner بلغة Kotlin. بالنسبة إلى ViewTreeSavedStateRegistryOwner، هذا تغيير مصدر غير متوافق لتلك الفئات المكتوبة بلغة Kotlin. يجب الآن استيراد طرق إضافة Kotlin واستخدامها على View من androidx.savedstate.setViewTreeSavedStateRegistryOwner وandroidx.savedstate.findViewTreeSavedStateRegistryOwner لضبط مالك تم إعداده سابقًا والعثور عليه. يحل ذلك محلّ واجهة برمجة تطبيقات savedstate-ktx الخاصة بالموقع الإلكتروني findViewTreeSavedStateRegistryOwner. يعد هذا متوافقًا مع النظام الثنائي ويظل مصدرًا متوافقًا مع عمليات التنفيذ المكتوبة بلغة برمجة Java. (b/220191285)

الإصدار 1.2.0-alpha02

6 نيسان (أبريل) 2022

تم طرح androidx.savedstate:savedstate:1.2.0-alpha02 وandroidx.savedstate:savedstate-ktx:1.2.0-alpha02. يحتوي الإصدار 1.2.0-alpha02 على عمليات التنفيذ هذه.

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

  • يمكنك الآن استرداد SavedStateProvider تم تسجيله سابقًا من SavedStateRegistry عبر getSavedStateProvider(). (I7ea47، b/215406268)

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

  • تمت إعادة كتابة الصفوف SavedStateRegistryOwner وSavedStateRegistryController وRecreator بلغة Kotlin. بالنسبة إلى SavedStateRegistryOwner، هذا تغيير غير متوافق في المصدر لتلك الفئات المكتوبة بلغة Kotlin، وعليك الآن إلغاء السمة savedStateRegistry بدلاً من تنفيذ دالة getSavedStateRegistry() السابقة. يعد هذا متوافقًا مع البرامج الثنائية ومتوافقًا مع عمليات التنفيذ المكتوبة بلغة برمجة Java. (b/220191285)

الإصدار 1.2.0-alpha01

26 يناير 2022

تم طرح androidx.savedstate:savedstate:1.2.0-alpha01 وandroidx.savedstate:savedstate-ktx:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على هذه عمليات التنفيذ.

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

  • يسمح SavedStateRegistryController الآن باستخدام التطبيق. إرفاق مبكر لـ SavedStateRegistry عبر performAttach() (Ice4bf)

تغييرات السلوك

  • لم يعُد SavedStateRegistry يحفظ حزمة فارغة في حال عدم توفّر ولاية لحفظها. (aosp/1896865، b/203457956)

الإصدار 1.1.0

الإصدار 1.1.0

10 شباط (فبراير) 2021

تم طرح androidx.savedstate:savedstate:1.1.0 وandroidx.savedstate:savedstate-ktx:1.1.0. يحتوي الإصدار 1.1.0 على هذه عمليات التنفيذ.

التغييرات الرئيسية منذ الإصدار 1.0.0

  • واجهة برمجة تطبيقات ViewTreeSavedStateRegistryOwner: تتيح لك واجهة برمجة تطبيقات ViewTreeSavedStateRegistryOwner.get(View) الجديدة استرداد واجهة برمجة التطبيقات SavedStateRegistry التي تحتوي على مثيل View. يجب الترقية إلى النشاط 1.2.0 أو Fragment 1.3.0 أو AppCompat 1.3.0-alpha01 أو إصدار أحدث لتعبئة هذه البيانات بشكل صحيح.
  • عنصر savedstate-ktx: تمت إضافة عناصر savedstate-ktx الجديدة مع إضافة findViewTreeSavedStateRegistryOwner() Kotlin للعمل مع ViewTreeSavedStateRegistryOwner.

الإصدار 1.1.0-rc01

16 كانون الأول (ديسمبر) 2020

تم طرح androidx.savedstate:savedstate:1.1.0-rc01 وandroidx.savedstate:savedstate-ktx:1.1.0-rc01 بدون أي تغييرات منذ 1.1.0-beta01. يحتوي الإصدار 1.1.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.1.0-beta01

1 تشرين الأول (أكتوبر) 2020

تم طرح androidx.savedstate:savedstate:1.1.0-beta01 وandroidx.savedstate:savedstate-ktx:1.1.0-beta01 بدون أي تغييرات منذ 1.1.0-alpha01. يحتوي الإصدار 1.1.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.1.0-alpha01

20 أيار (مايو) 2020

تم طرح androidx.savedstate:savedstate:1.1.0-alpha01 وandroidx.savedstate:savedstate-ktx:1.1.0-alpha01. يحتوي الإصدار 1.1.0-alpha01 على هذه عمليات التنفيذ.

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

  • تسمح لك واجهة برمجة تطبيقات ViewTreeSavedStateRegistryOwner.get(View) الجديدة باسترداد عنصر SavedStateRegistry الذي يحتوي على نسخة افتراضية من View. يجب الترقية إلى النشاط 1.2.0-alpha05 والتجزئة 1.3.0-alpha05 وAppCompat 1.3.0-alpha01 لتعبئة هذه البيانات بشكل صحيح. (aosp/1298679)
  • تمت إضافة عنصر savedstate-ktx الجديد مع إضافة findViewTreeSavedStateRegistryOwner() Kotlin للعمل مع ViewTreeSavedStateRegistryOwner. (aosp/1299434)

الإصدار 1.0.0

الإصدار 1.0.0

5 أيلول (سبتمبر) 2019

تم طرح androidx.savedstate:savedstate:1.0.0. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

الميزات الرئيسية في SaveState 1.0.0

تمت ترقية التطبيق androidx.savedstate إلى إصدار ثابت. هذه مجموعة من واجهات برمجة التطبيقات التي تسمح للمطوّرين بإضافة مكونات إضافية في عملية الاستعادة / saveInstanceState. إنّ نقطة الدخول الرئيسية لواجهة برمجة التطبيقات هي SavedStateRegistry، وهي توفّر طريقة لاسترداد الحالات المحفوظة سابقًا باستخدام consumeRestoredStateForKey وتسجيل معاودة الاتصال بـ registerSavedStateProvider لتوفير حالة محفوظة عندما يطلب النظام ذلك.

الإصدار 1.0.0-rc01

2 تموز (يوليو) 2019

تم طرح androidx.savedstate:savedstate:1.0.0-rc01. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

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

  • تم إصلاح قاعدة Proguard غير صحيحة (b/132655499)

الإصدار 1.0.0-beta01

7 أيار (مايو) 2019

تم طرح androidx.savedstate:savedstate:1.0.0-beta01. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

الإصدار 1.0.0-alpha02

13 آذار (مارس) 2019

تم طرح androidx.savedstate:savedstate:1.0.0-alpha02. تجمع androidx.savedstate:savedstate بين العنصرَين androidx.savedstate:savedstate-bundle وandroidx.savedstate:savedstate-common في عنصر واحد، لأنّه تم تحديد تبسيط البنية الأساسية المحفوظة وإزالة الأنواع العامة من SavedStateRegistry. بالتالي، لا حاجة إلى وحدات منفصلة.

يمكن الاطّلاع هنا على القائمة الكاملة لخطط الاشتراك المضمَّنة في هذا الإصدار.

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

  • تمت إضافة SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ). سيتم إنشاء مثيل للفئة المحدّدة وسيتم تنفيذ الطريقة AutoRecreated.onRecreated عند إعادة تشغيل المكوّن الخاص بها.

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

  • تمت إزالة العقاقير العامة من SavedStateRegistry<T>.
  • AbstractSavedStateRegistry & تمّت إزالة BundlableSavedStateRegistry، يُرجى استخدام SavedStateRegistry بسيطة بدلاً من ذلك.
  • تمت إعادة تسمية "BundleSavedStateRegistryOwner" إلى "SavedStateRegistryOwner".

الإصدار 1.0.0-alpha01

17 كانون الأول (ديسمبر) 2018

هذا هو الإصدار الأول من SavedState.

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

androidx.savedstate هي مجموعة جديدة من واجهات برمجة التطبيقات الأولية التي تتيح للمطوّرين إضافة المكوّنات الإضافية إلى عملية الاستعادة / saveInstanceState. نقطة الدخول الرئيسية لواجهة برمجة التطبيقات هي SavedStateRegistry<T>، وهي توفّر طريقة لاسترداد الحالة المحفوظة سابقًا عبر consumeRestoredStateForKey وتسجيل معاودة الاتصال بـ registerSavedStateProvider لتوفير الحالة المحفوظة بعد أن يطلبها النظام.