Mam trzy działania A, B i C, w których A i B są formularzami, a po wypełnieniu i zapisaniu danych formularza w bazie danych (SQLITE). Używam zamiarów od A do B, a następnie od B do C. Chcę, aby za każdym razem, gdy otwieram moją aplikację, chcę C jako ekran główny, a nie A i B.
Wydaje mi się, że wspólne preferencje by na to zadziałały, ale nie mogę znaleźć dobrego przykładu, który dałby mi początek. Każda pomoc będzie mile widziana.
android
android-activity
sharedpreferences
użytkownik3104719
źródło
źródło
Odpowiedzi:
Ustawianie wartości w preferencjach:
Pobierz dane z preferencji:
więcej informacji:
Korzystanie z preferencji wspólnych
Wspólne preferencje
źródło
apply()
to asynchroniczne wywołanie do wykonania operacji we / wy dysku, gdzie ascommit()
jest synchroniczne. Więc unikaj dzwonieniacommit()
z wątku interfejsu użytkownika.Utwórz SharedPreferences
Przechowywanie danych jako pary KEY / VALUE
Uzyskaj dane SharedPreferences
// Jeśli wartość klucza nie istnieje, zwracana jest druga wartość parametru - w tym przypadku null
Usuwanie wartości klucza z SharedPreferences
Wyczyść wszystkie dane z SharedPreferences
źródło
Jak zainicjalizować?
Jak przechowywać dane we wspólnych preferencjach?
LUB
I nie zapomnij zastosować:
Jak odzyskać dane ze wspólnych preferencji?
Mam nadzieję, że to pomoże Ci :)
źródło
Możesz utworzyć własną klasę SharedPreference
Możesz uzyskać instancję YourPrefrence, taką jak:
źródło
Po prostu uznałem wszystkie powyższe przykłady za zbyt mylące, więc napisałem własny. Fragmenty kodu są w porządku, jeśli wiesz, co robisz, ale co z ludźmi takimi jak ja, którzy nie wiedzą?
Chcesz zamiast tego zastosować rozwiązanie typu „wklej i wklej”? Cóż, oto jest!
Utwórz nowy plik Java i nazwij go Magazyn kluczy. Następnie wklej ten kod:
Teraz zapisz ten plik i zapomnij o nim. Skończyłeś z tym. Teraz wróć do swojej aktywności i użyj jej w następujący sposób:
źródło
Shared Preferences
są plikami XML do przechowywania prywatnych prymitywnych danych w parach klucz-wartość. Typy danych obejmują booleany , zmiennoprzecinkowe , liczby całkowite , długie i łańcuchy .Gdy chcemy zapisać niektóre dane, które są dostępne w aplikacji, jednym ze sposobów jest zapisanie ich w zmiennej globalnej. Ale zniknie po zamknięciu aplikacji. Innym i zalecanym sposobem jest oszczędzanie
SharedPreference
. Dane zapisane w pliku SharedPreferences są dostępne w całej aplikacji i trwają nawet po zamknięciu aplikacji lub po ponownym uruchomieniu.SharedPreferences zapisuje dane w parze klucz-wartość i można uzyskać do nich dostęp w ten sam sposób.
Możesz utworzyć Obiekt
SharedPreferences
przy użyciu dwóch metod,1). getSharedPreferences () : Za pomocą tych metod można utworzyć wiele SharedPreferences.and jej pierwszych parametrów w nazwie
SharedPreferences
.2). getPreferences () : Za pomocą tej metody możesz utworzyć Single
SharedPreferences
.Przechowywanie danych
Dodaj deklarację zmiennej / Utwórz plik preferencji
Pobierz uchwyt do nazwy pliku (używając getSharedPreferences)
Otwórz Edytor i Dodaj pary klucz-wartość
Nie zapomnij zastosować / zapisać,
myeditor.apply()
jak pokazano powyżej.Pobieranie danych
źródło
**** Użyj Preferencji, aby zapisać wartość, używając: - ****
**** Użyj Preferencji, aby odczytać wartość, używając: - ****
źródło
Najlepszy sposób na utworzenie
SharedPreference
i do użytku globalnego musisz stworzyć klasę jak poniżej:źródło
źródło
Napisz do wspólnych preferencji
Czytaj z preferencji wspólnych
źródło
źródło
źródło
Możesz także rzucić okiem na mój wcześniejszy przykładowy projekt , napisany w tym celu. Zapisuję lokalnie nazwę i wyszukuję ją na żądanie użytkownika lub po uruchomieniu aplikacji.
Ale w tej chwili lepiej byłoby użyć
commit
(zamiastapply
) do utrwalenia danych. Więcej informacji tutaj .źródło
źródło
Wspólne preferencje są bardzo łatwe do nauczenia, więc zapoznaj się z tym prostym samouczkiem na temat wspólnych preferencji
źródło