Zapisany stan

Zapisz możliwe do podłączenia komponenty, które zapisują stan interfejsu użytkownika po wyłączeniu procesu, i przywróć go po ponownym uruchomieniu tego procesu.
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.

Utwórz nowy numer

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

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łączanie SavedStateRegistry przez performAttach().
  • Możesz teraz pobrać wcześniej zarejestrowany SavedStateProvider z SavedStateRegistry 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ć w View na androidx.savedstate.setViewTreeSavedStateRegistryOwner i androidx.savedstate.findViewTreeSavedStateRegistryOwner, aby ustawić i znaleźć wcześniej ustawionego właściciela. Zastępuje interfejs API savedstate-ktx w findViewTreeSavedStateRegistryOwner.

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 w SavedStateRegistryController. (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 i ViewTreeSavedStateRegistryOwner zostały od nowa zapisane w Kotlin. 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ć w View na androidx.savedstate.setViewTreeSavedStateRegistryOwner i androidx.savedstate.findViewTreeSavedStateRegistryOwner, aby ustawić i znaleźć wcześniej ustawionego właściciela. Zastępuje interfejs API savedstate-ktx w findViewTreeSavedStateRegistryOwner. 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 z SavedStateRegistry za pomocą getSavedStateProvider(). (I7ea47, b/215406268)

Zmiany w interfejsie API

  • Klasy SavedStateRegistryOwner, SavedStateRegistryController i Recreator zostały od nowa zapisane 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. 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ów SavedStateRegistry 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 API ViewTreeSavedStateRegistryOwner.get(View) umożliwia pobieranie zawierającego SavedStateRegistry w instancji View. Aby wypełniać te pola prawidłowo, musisz przejść na Aktywność 1.2.0, Fragment 1.3.0 i AppCompat 1.3.0-alpha01 lub nowszą.
  • Artefakt savedstate-ktx: nowy artefakt savedstate-ktx został dodany z rozszerzeniem findViewTreeSavedStateRegistryOwner() Kotlin umożliwiającym współpracę z ViewTreeSavedStateRegistryOwner.

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

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 metoda AutoRecreated.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 na SavedStateRegistryOwner

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.