Zapisany stan
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
22 marca 2023 r. | 1.2.1 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od SavedState, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
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") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.2.1
Wersja 1.2.1
22 marca 2023 r.
Opublikowano androidx.savedstate:savedstate:1.2.1
i androidx.savedstate:savedstate-ktx:1.2.1
. Wersja 1.2.1 zawiera te zatwierdzenia.
Aktualizacje zależności
SavedState
zależy teraz od cyklu życia2.6.1
. (C1F621)
Wersja 1.2.0
Wersja 1.2.0
29 czerwca 2022 r.
Opublikowano androidx.savedstate:savedstate:1.2.0
i androidx.savedstate:savedstate-ktx:1.2.0
. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
SavedStateRegistryController
umożliwia teraz wczesne załączanieSavedStateRegistry
przezperformAttach()
.- Możesz teraz pobrać wcześniej zarejestrowany
SavedStateProvider
zSavedStateRegistry
za pomocągetSavedStateProvider()
. - Biblioteka
SavedState
została napisana od nowa w Kotlin.- W przypadku
SavedStateRegistryOwner
jest to niekompatybilna zmiana źródła w przypadku tych klas zapisanych w Kotlin. Zamiast implementować poprzednią funkcjęgetSavedStateRegistry()
, musisz teraz zastąpić właściwośćsavedStateRegistry
. - W przypadku
ViewTreeSavedStateRegistryOwner
jest to niekompatybilna zmiana źródła w przypadku tych klas napisanych w Kotlin. Musisz teraz bezpośrednio zaimportować metody rozszerzeń Kotlin i ich użyć wView
naandroidx.savedstate.setViewTreeSavedStateRegistryOwner
iandroidx.savedstate.findViewTreeSavedStateRegistryOwner
, aby ustawić i znaleźć wcześniej ustawionego właściciela. Zastępuje interfejs APIsavedstate-ktx
wfindViewTreeSavedStateRegistryOwner
.
- W przypadku
Zmiany w działaniu
SavedStateRegistry
nie zapisuje już pustego pakietu, jeśli nie ma stanu do zapisania.
Wersja 1.2.0-rc01
11 maja 2022 roku
Opublikowano androidx.savedstate:savedstate:1.2.0-rc01
i androidx.savedstate:savedstate-ktx:1.2.0-rc01
. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Zmiany w dokumentacji
- Dokumenty
SavedStateRegistryOwner
zostały zaktualizowane, aby doprecyzować zobowiązania właściciela i ustalić, jakie są jego obowiązki w zakresie implementacji interfejsu i kiedy powinien on wywoływać metody wSavedStateRegistryController
. (Iefc95, b/228887344)
Wersja 1.2.0-beta01
20 kwietnia 2022 r.
Opublikowano androidx.savedstate:savedstate:1.2.0-beta01
i androidx.savedstate:savedstate-ktx:1.2.0-beta01
. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Klasy
SavedStateRegistry
iViewTreeSavedStateRegistryOwner
zostały od nowa zapisane w Kotlin. W przypadkuViewTreeSavedStateRegistryOwner
jest to niekompatybilna zmiana źródła w przypadku tych klas napisanych w Kotlin. Musisz teraz bezpośrednio zaimportować metody rozszerzeń Kotlin i ich użyć wView
naandroidx.savedstate.setViewTreeSavedStateRegistryOwner
iandroidx.savedstate.findViewTreeSavedStateRegistryOwner
, aby ustawić i znaleźć wcześniej ustawionego właściciela. Zastępuje interfejs APIsavedstate-ktx
wfindViewTreeSavedStateRegistryOwner
. Jest to kod zapewniający zgodność binarną i źródłowy w przypadku implementacji napisanych w języku programowania Java. (b/220191285)
Wersja 1.2.0-alfa02
6 kwietnia 2022 roku
Opublikowano androidx.savedstate:savedstate:1.2.0-alpha02
i androidx.savedstate:savedstate-ktx:1.2.0-alpha02
. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Możesz teraz pobrać wcześniej zarejestrowany
SavedStateProvider
zSavedStateRegistry
za pomocągetSavedStateProvider()
. (I7ea47, b/215406268)
Zmiany w interfejsie API
- Klasy
SavedStateRegistryOwner
,SavedStateRegistryController
iRecreator
zostały od nowa zapisane w Kotlin. W przypadkuSavedStateRegistryOwner
jest to niekompatybilna zmiana źródła w przypadku tych klas zapisanych w Kotlin. Zamiast implementować poprzednią funkcjęgetSavedStateRegistry()
, musisz teraz zastąpić właściwośćsavedStateRegistry
. Jest to kod kompatybilny ze źródłem binarnym i źródłem dla implementacji napisanych w języku programowania Java. (b/220191285)
Wersja 1.2.0-alfa01
26 stycznia 2022 r.
Opublikowano androidx.savedstate:savedstate:1.2.0-alpha01
i androidx.savedstate:savedstate-ktx:1.2.0-alpha01
. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
SavedStateRegistryController
umożliwia teraz wcześniejsze dołączanie elementówSavedStateRegistry
za pomocąperformAttach()
. (Ice4bf)
Zmiany w działaniu
SavedStateRegistry
nie zapisuje już pustego pakietu, jeśli nie ma stanu do zapisania. (Aosp/1896865, b/203457956)
Wersja 1.1.0
Wersja 1.1.0
10 lutego 2021 r.
Opublikowano androidx.savedstate:savedstate:1.1.0
i androidx.savedstate:savedstate-ktx:1.1.0
. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Interfejs API
ViewTreeSavedStateRegistryOwner
: nowy interfejs APIViewTreeSavedStateRegistryOwner.get(View)
umożliwia pobieranie zawierającegoSavedStateRegistry
w instancjiView
. Aby wypełniać te pola prawidłowo, musisz przejść na Aktywność1.2.0
, Fragment1.3.0
i AppCompat1.3.0-alpha01
lub nowszą. - Artefakt
savedstate-ktx
: nowy artefaktsavedstate-ktx
został dodany z rozszerzeniemfindViewTreeSavedStateRegistryOwner()
Kotlin umożliwiającym współpracę zViewTreeSavedStateRegistryOwner
.
Wersja 1.1.0-rc01
16 grudnia 2020 roku
androidx.savedstate:savedstate:1.1.0-rc01
i androidx.savedstate:savedstate-ktx:1.1.0-rc01
są dostępne bez zmian od 1.1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
1 października 2020 roku
androidx.savedstate:savedstate:1.1.0-beta01
i androidx.savedstate:savedstate-ktx:1.1.0-beta01
są dostępne bez zmian od 1.1.0-alpha01
. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Wersja 1.1.0-alfa01
20 maja 2020 r.
Opublikowano androidx.savedstate:savedstate:1.1.0-alpha01
i androidx.savedstate:savedstate-ktx:1.1.0-alpha01
. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Nowy interfejs API
ViewTreeSavedStateRegistryOwner.get(View)
pozwala pobrać zawierającySavedStateRegistry
z użyciem instancjiView
. Aby je wypełnić, musisz przejść na Aktywność1.2.0-alpha05
, Fragment1.3.0-alpha05
i AppCompat1.3.0-alpha01
. (Aosp/1298679) - Dodano nowy artefakt
savedstate-ktx
z rozszerzeniem KotlinfindViewTreeSavedStateRegistryOwner()
na potrzeby współpracy zViewTreeSavedStateRegistryOwner
. (Aosp/1299434)
Wersja 1.0.0
Wersja 1.0.0
5 września 2019 r.
Aplikacja androidx.savedstate:savedstate:1.0.0
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Główne funkcje SavedState 1.0.0
androidx.savedstate
przeszedł na wersję stabilną. Jest to zestaw interfejsów API, które pozwalają programistom na włączanie komponentów w procesie przywracania / zapisania instancji. Głównym punktem wejścia interfejsu API jest SavedStateRegistry
, który umożliwia pobieranie wcześniej zapisanych stanów za pomocą consumeRestoredStateForKey
i rejestrowanie wywołania zwrotnego registerSavedStateProvider
w celu określenia zapisanego stanu, gdy system zażąda tego stanu.
Wersja 1.0.0-rc01
2 lipca 2019 r.
Aplikacja androidx.savedstate:savedstate:1.0.0-rc01
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Poprawki błędów
- Usunięto nieprawidłową regułę Prokoparda (b/132655499)
Wersja 1.0.0-beta01
7 maja 2019 r.
Aplikacja androidx.savedstate:savedstate:1.0.0-beta01
została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.
Wersja 1.0.0-alfa02
13 marca 2019 r.
Aplikacja androidx.savedstate:savedstate:1.0.0-alpha02
została zwolniona. androidx.savedstate:savedstate
łączy artefakty androidx.savedstate:savedstate-bundle
i androidx.savedstate:savedstate-common
w 1 artefakt, ponieważ postanowiono uprościć infrastrukturę zapisanego stanu i usunąć ogólne z usługi SavedStateRegistry
. Dzięki temu nie ma potrzeby tworzenia osobnych modułów.
Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.
Nowe funkcje
- Dodano użytkownika
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )
Podana klasa zostanie utworzona, a metodaAutoRecreated.onRecreated
zostanie uruchomiona po ponownym uruchomieniu komponentu właściciela.
Zmiany w interfejsie API
- Ogólne zostały usunięte z
SavedStateRegistry<T>
- AbstractSavedStateRegistry i BundlableSavedStateRegistry zostały usunięte; zamiast nich użyj prostego
SavedStateRegistry
- Nazwa użytkownika
BundleSavedStateRegistryOwner
została zmieniona naSavedStateRegistryOwner
Wersja 1.0.0-alfa01
17 grudnia 2018 r.
To jest pierwsza wersja gry SavedState
.
Nowe funkcje
androidx.savedstate
to nowy zestaw interfejsów API w wersji alfa, które pozwalają programistom na umieszczanie komponentów w procesie przywracania / zapisaniaInstancjiInstancji. Głównym punktem wejścia interfejsu API jest SavedStateRegistry<T>
. Umożliwia on pobranie wcześniej zapisanego stanu za pomocą metody consumeRestoredStateForKey
oraz zarejestrowanie wywołania zwrotnego do registerSavedStateProvider
w celu dostarczenia zapisanego stanu, gdy system zażąda tego stanu.