2010-11-18 7 views
5

ho bisogno di salvare un semplice campo per configurare la mia APP, perché questo, non userò un database (è solo un campo ...), ho bisogno di salvare il valore vero o falso per questo campo su un file, e ogni volta una sezione della mia app vuole controllare se è vero che devono controllare questo file di testo e non aprire una connessione a un databaseCome posso salvare la configurazione della mia app senza utilizzare un database ??? (usando un semplice file di testo)

ho bisogno di salvare la configurazione per sempre ... voglio dire che quando esco dalla mia app e, ad esempio, spengo il mio dispositivo Android, quando riavvio il dispositivo e avvio la mia app, la configurazione deve essere salvata

è possibile? Come posso farlo? non riesco a trovare tutte le informazioni su che

EDIT: Ho problemi con la prima risposta ... questo codice è sul mio metodo OnCreate:

static SharedPreferences settings; 
static SharedPreferences.Editor configEditor; 
settings = this.getPreferences(MODE_WORLD_WRITEABLE); 

    if (settings.getBoolean("showMeCheckBox", true)) 
    showMeCheckBox.setChecked(true); 
    else 
    showMeCheckBox.setChecked(false); 

applyButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       // Perform action on clicks 
      if (showMeCheckBox.isChecked()) { 
       configEditor.putBoolean("showMeCheckBox", true); 
       } else { 
       configEditor.putBoolean("showMeCheckBox", false); 
       } 

      } 
}); 

ok, ma questo non funziona .. viene sempre selezionato ... sempre vero, come il valore predefinito ... non importa se l'ho controllato o deselezionato ....: S

+1

Vedi per ulteriori informazioni su Preferenze condivise [qui] (http://developer.android. com/guida/argomenti/dati/data-storage.html # pref) – Tobias

risposta

9

suggerisco di non usare un file di testo ma l'editor delle preferenze.

static SharedPreferences settings; 
static SharedPreferences.Editor editor; 
settings = this.getPreferences(MODE_WORLD_WRITEABLE); 
editor = settings.edit(); 
//store value 
editor.putString("Preference_name_1", "1"); 
//get value 
//eill return "0" if preference not exists, else return stored value 
String val = settings.getString("Preference_name_1", "0"); 

Edit: si deve inizializzare il configEditor e dopo aver impostato un valore, è necessario impegnarsi

editor = settings.edit(); 
editor.putBoolean("name",true); 
editor.commit(); 
+1

ma ho bisogno di salvare la configurazione per sempre ... voglio dire che quando esco dalla mia app, e per esempio, spengo il mio dispositivo Android, quando riavvio il mio dispositivo e avvio la mia app, la configurazione deve essere salvata! sembra che con sharedpreferences non posso farlo ...:/ – NullPointerException

+1

SharedPreferences sono "per sempre" salvate. C'è anche un metodo putBoolean() disponibile. – Tobias

+0

No, è memorizzato fino al cleanboot. SharedPreferenceEditor è progettato esattamente per problemi come il tuo – 2red13

Problemi correlati