الحالة المحفوظة
التعديل الأخير | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
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 على عمليات الالتزام هذه.
التحديثات المتعلقة بالاعتمادية
- تعتمد ميزة "
SavedState
" الآن على دورة الحياة2.6.1
. (c1f621)
الإصدار 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
أو Fragment1.3.0
أو AppCompat1.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
وAppCompat1.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
لتوفير الحالة المحفوظة بعد أن يطلبها النظام.