folosi Android sharedpreferences pentru a salva setările, suvitruf
Pentru cele mai multe aplicații, pe care doriți să salvați setările care controlează comportamentul programului. Android oferă o serie de moduri alternative de a stoca aplicații de date, fiecare dintre acestea
optimizate pentru nevoile specifice.
Setări generale - mecanism simplu și ușor bazat pe perechi de „cheie - valoare“ și este destinat să păstreze datele aplicației primitive, de multe ori setările personalizate.
clasa SharedPreferences vă permite să creați în aplicația numită matrice asociative, cum ar fi „cheie - valoare“, care poate fi utilizat de către diferitele componente ale aplicației (în timpul lucrului
în cadrul aceleiași aplicații).
Setări generale acceptă tipuri de bază boolean, șir de caractere, float, lung, și întreg, ceea ce le face ideale pentru a salva rapid valorile implicite, variabile, clasa de exemplu, starea actuală a UI și setări de utilizator.
Creați și salvați setările
, Ai nevoie de a apela o metodă de a crea sau a modifica setările generale
getSharedPreferences în contextul cererii, care trece numele comun pentru setările pe care doriți să le modificați. Setările nu sunt disponibile pentru alte aplicații.
Obținerea de setările generale
Este necesar să se treacă în numele getSharedPreferences setările generale, accesul la care doriți să primiți, și de a folosi o metodă de a obține tastată. pentru a prelua valorile stocate. Transferat la cheia implicită și valoarea (caz de utilizare nu este salvat încă nici o valoare pentru această cheie).
Valori de curatare / de eliminare
Pentru valorile de curățare folosind metode SharedPreferences.Editor.remove (String-cheie) și SharedPreferences.Editor.clear ().
Fișierul de setări este stocat în /data/data/package_name/shared_prefs/imya_fayla_nastroek.xml. Puteți șterge:
cadru Preferințe
În exemplele de mai sus este, de obicei, de economisire și restaurarea parametrilor relevanți. Asta este, se creează o marcă XML-fișier și plasate acolo controalele necesare. Dar Android în acest scop, oferă propriul său cadru Preferințe, cu care puteți crea un set personalizat de preferințe și să le includă în aplicație.
Adică, nu este nevoie de a crea un aspect de fișier și de a lua / set parametri pentru a se scrie. Este necesar doar într-o serie de opțiuni de transfer de fișiere separate și Android face deja restul. Preferința - este o activitate separată în aplicație, de la activ. Activitatea se extinde de la clasa PreferenceActivity. Preferințele sunt definite într-un fișier XML separat, în care elementul rădăcină este elementul
PreferenceScreen
Este necesar să se creeze inițial resursele res folderul / XML / fișier XML, cum ar fi, settings.xml. Alegeți tipul de Android fișier XML de fișiere.
La crearea unui fișier pentru a seta comutatorul de pe caseta de dialog Preferințe și asigurați-vă că elementul rădăcină al fișierului instalat PreferenceScreen.
settings.xml
Următoarea Solicitarea setările necesare:
Am identificat două opțiuni: dimensiunea textului, limba cererii. C
Determinarea parametrilor în string.xml și array.xml
Desigur, este necesar să se determine toate variabilele. În string.xml.
PreferenceActivity
Pentru PreferenceActivity creat automat SettingsActivity. Am fost acolo o nevoie de puțin pentru a schimba metoda onCreate.
addPreferencesFromResource () metoda citește configurația specificată a fișier XML, care stochează resursele noastre și le face disponibile pentru acest program. Ca urmare, ar trebui să vedem setările de pe ecran. În cazul în care activitatea noastră automată nu a fost înregistrată, apoi adăugați AndroidManifest.xml manifest:
Deci, scrie codul, astfel încât atunci când faceți clic pe meniu, deschis fereastra noastră la setările. Pentru aceasta vom defini o metodă de a crea meniuri și onCreateOptionsMenu și metoda, pentru a urmări clicurile pe meniul onOptionsItemSelected.
Pentru a salva preferințele pentru a alege de acolo sunt 4 clase:
- CheckBoxPreference
- EditTextPreference
- ListPreference
- RingtonePreference
Mai exact, în acest exemplu utilizează EditTextPreference și ListPreference.
Aici este setările ferestrei schimbare:
Modificări de urmărire în setările generale
clasa OnSharedPreferenceChangeListener vă permite să apelați metoda de apel invers-la momentul adăugării, eliminarea sau modificarea setărilor publice specifice. Folosind acest procesor, componentele aplicației poate monitoriza schimbările în setările stabilite de către utilizator, și să actualizeze interfața cu utilizatorul sau modifica comportamentul programului.
Această funcție nu este relevantă pentru un PreferenceActivity modern, bazat pe un fragment
Această funcție nu este relevantă pentru un PreferenceActivity modern, bazat pe un fragment. Dat resursa umflă XML și adaugă ierarhia preferințelor în ierarhia preferințelor curente.
Un astfel de mesaj, veți vedea SDK-ul peste multe metode PreferenceActivity. în același addPreferencesFromResource. Acest lucru înseamnă că metodele învechite. De fapt, nimic fatal despre acest lucru, doar în versiunile ulterioare au fost metode mai convenabile.
Cu versiunea 3.0, au existat așa-numitele fragmente. cu care se poate lucra cu setările.
Repet, dacă aveți o versiune mai veche de a lucra cu setările utilizate, atunci acesta va funcționa în mod normal, pe toate dispozitivele. Dar dacă sunteți scris pentru o versiune de dispozitive Android 3+, este mai bine să utilizeze fragmente.