حالة الحفظ
آخر تعديل | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | الإصدار الأولي |
---|---|---|---|---|
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 هذه الالتزامات.
تعديلات التبعية
- تعتمد
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 على هذه الالتزامات.
التغييرات في المستندات
- تم تحديث
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
وAppCompat1.3.0-alpha01
أو إصدار أعلى لتتم تعبئته بشكل صحيح.- العنصر
savedstate-ktx
: تمت إضافة العنصرsavedstate-ktx
الجديد مع إضافة KotlinfindViewTreeSavedStateRegistryOwner()
للعمل مع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
وFragment1.3.0-alpha05
وAppCompat1.3.0-alpha01
لتتم تعبئته بشكل صحيح. (aosp/1298679) - تمت إضافة العنصر
savedstate-ktx
الجديد مع إضافة KotlinfindViewTreeSavedStateRegistryOwner()
للعمل مع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
لتوفير حالة محفوظة بعد طلب النظام.