Czy Android zapewnia coś dobrego? w ten sposób LUB czy muszę sprawdzać za każdym razem podczas uruchamiania mojej aplikacji "Och, czy jestem świeżo zainstalowany? Czy muszę teraz zainicjować Udostępnione preferencje?"Android: Ustaw preferencje współdzielone podczas instalacji?
Odpowiedz
To jest dobry pomysł, aby sprawdzić istnienie pliku preferencji w każdym razie, jeśli zależy od pewnych wartości krytycznych.
Możesz po prostu uzyskać dowolną parę klucz/wartość z preferencji i podać wartość domyślną w wywołaniu metody, na przykład: prefValue = prefs.getString("prefName", "defaultValue");
, nie ma potrzeby inicjowania.
Jeśli klucz ("prefName" w tym przypadku) nie istnieje w preferencjach, zostanie użyta wartość domyślna. Po zezwoleniu użytkownikowi na zmianę preferencji, PreferencesActivity zajmie się zapisaniem zmienionych wartości z powrotem do prefiksów.
Oto dobry tutorial na Android Preferencje:
http://www.kaloer.com/android-preferences
Już go używam. Zastanawiałem się jednak, jak je skonfigurować podczas instalacji. – OneWorld
@OneWorld: Nie można wykonać żadnego kodu podczas instalacji. – CommonsWare
Jestem tego pewien. To dlatego pytam, czy Android zapewnia takie ustawienia preferencji w ich instalacji. – OneWorld
Jeśli martwisz się, że użytkownik może usunąć dane z aplikacji, należy rozważyć użycie tej flagi wewnątrz tagu <application>
swojej AndroidManifest.xml:
android:manageSpaceActivity="path.to.your.activity"
Wtedy zamiast „Wyczyść dane” przycisk, to będzie " Zarządzaj przestrzenią ". A twoja aktywność zostanie wywołana, gdy użytkownik kliknie ten przycisk.
Zasadniczo powinieneś zrobić to, o czym wspomniał Select0r. Wszystkie inne "domyślne pliki xml/..." nie są warte czasu na utrzymanie projektu.
OK, zgadza się. Jednak w jakiś sposób musi być możliwe spakowanie predefiniowanego pliku ustawień w pliku apk. – OneWorld
Z tego co wiem, można zbudować tylko metodę inicjalizacji, która zasadniczo tworzy plik preferencji z pożądanymi wartościami. –
cóż, nadal muszę umieścić preferencje w kodzie programu; ( – OneWorld