Zapisanostate

Zapisz możliwe do podłączenia komponenty, które zapisują stan interfejsu użytkownika po zamknięciu procesu i przywracają go po ponownym uruchomieniu procesu.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
7 sierpnia 2024 r. 1.2.1 - - 1.3.0-alfa01

Deklarowanie zależności

Aby dodać zależność od SavedState, musisz dodać repozytorium Google Maven do w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowe

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 odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wersja 1.3

Wersja 1.3.0-alpha01

7 sierpnia 2024 r.

androidx.savedstate:savedstate:1.3.0-alpha01 i androidx.savedstate:savedstate-ktx:1.3.0-alpha01 zostały udostępnione. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Rozszerzenia kotlin (savedstate-ktx) zostały przeniesione do podstawowego modułu zapisanych stanów. (I1cc18, b/274803094)

Uwaga

  • Zaktualizuj compileSdk do 35 (5dc41be)

Wersja 1.2.1

Wersja 1.2.1

22 marca 2023 r.

androidx.savedstate:savedstate:1.2.1 i androidx.savedstate:savedstate-ktx:1.2.1 zostały udostępnione. Wersja 1.2.1 zawiera te zatwierdzenia.

Aktualizacje zależności

Wersja 1.2.0

Wersja 1.2.0

29 czerwca 2022 r.

androidx.savedstate:savedstate:1.2.0 i androidx.savedstate:savedstate-ktx:1.2.0 zostały udostępnione. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • SavedStateRegistryController zezwala teraz na wcześniejsze załączenie załącznika SavedStateRegistry za pomocą performAttach().
  • Teraz możesz pobrać wcześniej zarejestrowane SavedStateProvider z SavedStateRegistry przy użyciu getSavedStateProvider().
  • Biblioteka SavedState została przepisana w języku Kotlin.
    • W przypadku SavedStateRegistryOwner jest to niekompatybilna zmiana źródła dla klas zapisanych w Kotlin. Musisz teraz zastąpić właściwość savedStateRegistry zamiast implementować poprzednią funkcję getSavedStateRegistry().
    • W przypadku ViewTreeSavedStateRegistryOwner jest to niekompatybilna zmiana źródła w przypadku klas napisanych w Kotlin. Musisz teraz bezpośrednio zaimportować i zastosować metody rozszerzenia Kotlin w View z androidx.savedstate.setViewTreeSavedStateRegistryOwner i androidx.savedstate.findViewTreeSavedStateRegistryOwner, aby ustawić i znaleźć uprzedniego właściciela. Zastępuje to interfejs API savedstate-ktx interfejsu 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

androidx.savedstate:savedstate:1.2.0-rc01 i androidx.savedstate:savedstate-ktx:1.2.0-rc01 zostały udostępnione. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Zmiany w dokumentacji

  • Zaktualizowaliśmy dokument Kdocs w usłudze SavedStateRegistryOwner, aby doprecyzować obowiązki i umowy zawarte przez właściciela w zakresie sposobu wdrażania interfejsu i momentów wywoływania metod w SavedStateRegistryController. (IEfc95, b/228887344)

Wersja 1.2.0-beta01

20 kwietnia 2022 r.

androidx.savedstate:savedstate:1.2.0-beta01 i androidx.savedstate:savedstate-ktx:1.2.0-beta01 zostały udostępnione. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zajęcia SavedStateRegistry i ViewTreeSavedStateRegistryOwner zostały przepisane w Kotlin. W przypadku ViewTreeSavedStateRegistryOwner jest to niekompatybilna zmiana źródła w przypadku klas napisanych w Kotlin. Musisz teraz bezpośrednio zaimportować i zastosować metody rozszerzenia Kotlin w View z androidx.savedstate.setViewTreeSavedStateRegistryOwner i androidx.savedstate.findViewTreeSavedStateRegistryOwner, aby ustawić i znaleźć uprzedniego właściciela. Zastępuje to interfejs API savedstate-ktx interfejsu findViewTreeSavedStateRegistryOwner. Jest on zgodny z plikami binarnymi i pozostaje kompatybilny ze źródłem dla implementacji napisanych w języku programowania Java. (b/220191285)

Wersja 1.2.0-alfa02

6 kwietnia 2022 roku

androidx.savedstate:savedstate:1.2.0-alpha02 i androidx.savedstate:savedstate-ktx:1.2.0-alpha02 zostały udostępnione. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Teraz możesz pobrać wcześniej zarejestrowane SavedStateProvider z SavedStateRegistry przy użyciu getSavedStateProvider(). (I7ea47, b/215406268)

Zmiany interfejsu API

  • Zajęcia SavedStateRegistryOwner, SavedStateRegistryController i Recreator zostały przepisane w Kotlin. W przypadku SavedStateRegistryOwner jest to niekompatybilna zmiana źródła dla klas zapisanych w Kotlin. Musisz teraz zastąpić właściwość savedStateRegistry zamiast implementować poprzednią funkcję getSavedStateRegistry(). Jest to plik binarny zgodny ze źródłem oraz dla implementacji napisanych w języku programowania Java. (b/220191285)

Wersja 1.2.0-alpha01

26 stycznia 2022 r.

androidx.savedstate:savedstate:1.2.0-alpha01 i androidx.savedstate:savedstate-ktx:1.2.0-alpha01 zostały udostępnione. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • SavedStateRegistryController zezwala teraz wczesny załącznik SavedStateRegistry za pośrednictwem 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.

androidx.savedstate:savedstate:1.1.0 i androidx.savedstate:savedstate-ktx:1.1.0 zostały udostępnione. 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 pliku SavedStateRegistry zawierającego dane z instancji View. Aby to zrobić, musisz uaktualnić wersję Activity 1.2.0, Fragment 1.3.0 i AppCompat 1.3.0-alpha01 lub nowszą wersją.
  • savedstate-ktx artefakt: dodano nowy artefakt savedstate-ktx z rozszerzeniem findViewTreeSavedStateRegistryOwner() Kotlin do pracy z ViewTreeSavedStateRegistryOwner.

Wersja 1.1.0-rc01

16 grudnia 2020 roku

Wersje androidx.savedstate:savedstate:1.1.0-rc01 i androidx.savedstate:savedstate-ktx:1.1.0-rc01 zostały udostępnione 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

Wersje androidx.savedstate:savedstate:1.1.0-beta01 i androidx.savedstate:savedstate-ktx:1.1.0-beta01 zostały udostępnione bez zmian od 1.1.0-alpha01. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha01

20 maja 2020 r.

androidx.savedstate:savedstate:1.1.0-alpha01 i androidx.savedstate:savedstate-ktx:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Wersja 1.0.0

Wersja 1.0.0

5 września 2019 r.

Usługa androidx.savedstate:savedstate:1.0.0 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Główne funkcje SavedState 1.0.0

Wersja androidx.savedstate przeszła na wersję stabilną. Jest to zestaw interfejsów API, które pozwalają programistom dodawać komponenty do procesu przywracania i zapisania instancji. Głównym punktem wejścia interfejsu API jest SavedStateRegistry, który umożliwia pobieranie zapisanych wcześniej stanów za pomocą metody consumeRestoredStateForKey i rejestrowanie wywołania zwrotnego do registerSavedStateProvider w celu podania zapisanego stanu, gdy system zażąda tego stanu.

Wersja 1.0.0-rc01

2 lipca 2019 r.

Usługa 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łę ProGuard (b/132655499)

Wersja 1.0.0-beta01

7 maja 2019 r.

Usługa androidx.savedstate:savedstate:1.0.0-beta01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Wersja 1.0.0-alpha02

13 marca 2019 r.

Usługa androidx.savedstate:savedstate:1.0.0-alpha02 została zwolniona. Funkcja androidx.savedstate:savedstate łączy artefakty androidx.savedstate:savedstate-bundle i androidx.savedstate:savedstate-common w 1 artefakt, ponieważ postanowiono w nim uprościć infrastrukturę zapisanej oraz usunąć generyczne z 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 ) Po ponownym uruchomieniu komponentu, który jest właścicielem, zostanie utworzona instancja danej klasy, a metoda AutoRecreated.onRecreated zostanie uruchomiona.

Zmiany interfejsu API

  • Ogólne zostały usunięte z: SavedStateRegistry<T>
  • AbstractSavedStateRegistry & Element BundlableSavedStateRegistry został usunięty – zamiast niego użyj prostej zasady SavedStateRegistry
  • Nazwa BundleSavedStateRegistryOwner została zmieniona na SavedStateRegistryOwner

Wersja 1.0.0-alpha01

17 grudnia 2018 r.

To jest pierwsza wersja aplikacji SavedState.

Nowe funkcje

androidx.savedstate to nowy zestaw interfejsów API w wersji alfa, który umożliwia programistom dołączanie komponentów do procesu przywracania / zapisywania instancjiState. Głównym punktem wejścia interfejsu API jest SavedStateRegistry<T>, który umożliwia pobranie poprzednio zapisanego stanu za pomocą consumeRestoredStateForKey i zarejestrowanie wywołania zwrotnego do registerSavedStateProvider w celu wprowadzenia zapisu stanu, gdy system zażąda tego stanu.