Android - Jak mohu nastavit předvolby v kódu

hlasů
38

Mám aplikaci pro Android, ve kterém mám své preference v souboru XML, který pracuje v pořádku. Já jsem teď chcete nastavit jednu z preferencí s použitím kódu namísto zobrazení přes celou obrazovku předvoleb, jak bych jít asi dělá?

Položena 16/02/2009 v 03:26
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
118

Předpokládám, že by preference jste s odkazem na preference vaší aplikace a ne pro Android nastavení telefonu.

K ukládání preferencí mezi běhy vás aplikace, kterou je třeba provést následující kroky

  1. Vytvořte objekt SharedPreferences

    SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);
    

    String n identifikuje předvolby a druhý argument je mód budou přistupovat

  2. Instanci objektu Editor

    SharedPreferences.Editor editor = settings.edit();
    

    Poznámka: nezkoušejte settings.editor.edit (), to nebude mít žádný trvalý objekt a kód níže nebude fungovat

  3. Napište své preference do vyrovnávací paměti

    editor.put...(String, value)
    

    Existuje mnoho put funkce putString, putBoolean atd String je klíčem ( „verze“, „dobrý run“) a hodnota je hodnota ( „1.5.2“, true)

  4. Vyprázdnění vyrovnávací paměti

    editor.commit();
    

    Toto vlastně píše dáte preferencím. Pokud vaše aplikace ke zhroucení dříve této linii pak nebudou zapisovány preference. K dispozici je také zdokumentována bug: spáchat () by měl vrátit boolean udávající úspěch nebo neúspěch. Naposledy jsem zkontroloval, že vždycky se vrátil false.

Tyto preference se tím uložit do telefonu a bude přístupná do aplikace pouze.

Další dokumentace je zde

Odpovězeno 16/02/2009 v 07:02
zdroj uživatelem

hlasů
8

Zkoušel jsem to, ale nefungovalo to:

SharedPreferences settings = getSharedPreferences(String n, MODE_PRIVATE);

Zkuste místo toho:

SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Odpovězeno 01/12/2011 v 18:04
zdroj uživatelem

hlasů
2

Můžete ušetřit něco v sharedpreferences pomocí níže kód

public static void save(String valueKey, String value) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putString(valueKey, value);
    edit.commit();
    }

Číst preference:

public static String read(String valueKey, String valueDefault) {
    SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(context);
   return prefs.getString(valueKey, valueDefault);
}
Odpovězeno 29/04/2016 v 05:32
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more