حالة الحفظ

كتابة مكونات قابلة للتوصيل تحفظ حالة واجهة المستخدم عند انتهاء العملية، واستعادتها عند إعادة تشغيل العملية.
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
22 آذار (مارس) 2023 1.2.1 - - -

تعريف التبعيات

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

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

رائع

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

التغييرات في المستندات

  • تم تحديث SavedStateRegistryOwner Kdocs لتوضيح المسؤوليات والعقد المبرم بين المالك حول كيفية تنفيذ الواجهة أو متى يجب استدعاء الأساليب في 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 API: تتيح لك واجهة برمجة تطبيقات ViewTreeSavedStateRegistryOwner.get(View) الجديدة استرداد قيمة SavedStateRegistry المضمّنة المحددة في مثيل View. يجب الترقية إلى النشاط 1.2.0 والجزء 1.3.0 وAppCompat 1.3.0-alpha01 أو إصدار أعلى لتتم تعبئته بشكل صحيح.
  • العنصر savedstate-ktx: تمت إضافة العنصر savedstate-ktx الجديد مع إضافة Kotlin findViewTreeSavedStateRegistryOwner() للعمل مع 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 وFragment 1.3.0-alpha05 وAppCompat 1.3.0-alpha01 لتتم تعبئته بشكل صحيح. (aosp/1298679)
  • تمت إضافة العنصر savedstate-ktx الجديد مع إضافة Kotlin findViewTreeSavedStateRegistryOwner() للعمل مع 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". يمكن الاطّلاع هنا على الالتزامات المضمَّنة في هذا الإصدار.

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

  • تم إصلاح قاعدة الحماية غير الصحيحة (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 هي مجموعة جديدة من واجهات برمجة التطبيقات ألفا التي تتيح للمطوّرين إضافة مكوّنات إضافية إلى عملية الاستعادة / الحفظ InstanceState. نقطة الدخول الرئيسية لواجهة برمجة التطبيقات هي SavedStateRegistry<T>، وتوفّر طريقة لاسترداد الحالة المحفوظة سابقًا من خلال consumeRestoredStateForKey وتسجيل استدعاء إلى registerSavedStateProvider لتوفير حالة محفوظة بعد طلب النظام.