Android preferenze condiviso esempio

? user3104719 @ | Original: StackOverFlow
---

Sono stato alla ricerca on-line per un buon esempio, ma non riesco a trovarne uno . Voglio essere in grado di recuperare l'input dell'utente in un app per un uso successivo . Ad esempio, all'utente viene chiesto di inserire tutti i 7 giorni della settimana e il tipo nella casella EditText " Lunedi " " Tuseday " ect . Poi più tardi in app una domanda verrà in su e chiedere qual è il tuo giorno preferito ? e il filatore mostrerà un elenco a discesa dei giorni sono entrati per l'utente di scegliere. Sto indovinando preferenze condivise avrebbe funzionato per questo, ma non riesco a trovare un buon esempio per me dare un punto di partenza . Qualsiasi aiuto sarebbe apprezzato .

---

Top 5 Risposta

1Elenasys @ Setting values in Preference:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.commit();
Retrieve data from preference:
// MY_PREFS_NAME - a static String variable like: 
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value.
}

more info:

http://developer.android.com/guide/topics/data/data-storage.html#pref

http://developer.android.com/reference/android/content/SharedPreferences.html

2Omi Sparky @

Come inizializzare ?

// 0 - for private mode`
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 

Editor editor = pref.edit();

Come conservare i dati di preferenza in comune ?

editor.putString("key_name", "string value"); // Storing string

OR

editor.putInt("key_name", "int value"); //Storing integer

Come recuperare i dati da Preferenze condivise ?

pref.getString("key_name", null); // getting String

pref.getInt("key_name", null); // getting Integer

Spero suo aiuterà U :)

3Krausz Lóránt Szilveszter @

/ ******* ******* Creare SharedPreferences /

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
Editor editor = pref.edit();

/ **************** Memorizzazione dati come coppia chiave / valore ******************* /

editor.putBoolean("key_name1", true);           // Saving boolean - true/false
editor.putInt("key_name2", "int value");        // Saving integer
editor.putFloat("key_name3", "float value");    // Saving float
editor.putLong("key_name4", "long value");      // Saving long
editor.putString("key_name5", "string value");  // Saving string

// Save the changes in SharedPreferences
editor.commit(); // commit changes

/ **************** Ottenere dati SharedPreferences ******************* /

// Se il valore per la chiave non esiste per poi tornare secondo valore param - In questo caso nulla

pref.getBoolean("key_name1", true);         // getting boolean
pref.getInt("key_name2", 0);             // getting Integer
pref.getFloat("key_name3", null);           // getting Float
pref.getLong("key_name4", null);            // getting Long
pref.getString("key_name5", null);          // getting String

/ ************ Eliminazione valore di chiave da SharedPreferences ***************** /

editor.remove("key_name3"); // will delete key key_name3
editor.remove("key_name4"); // will delete key key_name4

// Save the changes in SharedPreferences
editor.commit(); // commit changes

/ ************ Cancella tutti i dati da SharedPreferences ***************** /

 editor.clear();
 editor.commit(); // commit changes
4smit modi @

Preferenze class pubblico {

public static final String PREF_NAME = "your preferences name";

@SuppressWarnings("deprecation")
public static final int MODE = Context.MODE_WORLD_WRITEABLE;

public static final String USER_ID = "USER_ID_NEW";
public static final String USER_NAME = "USER_NAME";

public static final String NAME = "NAME";
public static final String EMAIL = "EMAIL";
public static final String PHONE = "PHONE";
public static final String address = "address";

public static void writeBoolean(Context context, String key, boolean value) {
    getEditor(context).putBoolean(key, value).commit();
}

public static boolean readBoolean(Context context, String key,
        boolean defValue) {
    return getPreferences(context).getBoolean(key, defValue);
}

public static void writeInteger(Context context, String key, int value) {
    getEditor(context).putInt(key, value).commit();

}

public static int readInteger(Context context, String key, int defValue) {
    return getPreferences(context).getInt(key, defValue);
}

public static void writeString(Context context, String key, String value) {
    getEditor(context).putString(key, value).commit();

}

public static String readString(Context context, String key, String defValue) {
    return getPreferences(context).getString(key, defValue);
}

public static void writeFloat(Context context, String key, float value) {
    getEditor(context).putFloat(key, value).commit();
}

public static float readFloat(Context context, String key, float defValue) {
    return getPreferences(context).getFloat(key, defValue);
}

public static void writeLong(Context context, String key, long value) {
    getEditor(context).putLong(key, value).commit();
}

public static long readLong(Context context, String key, long defValue) {
    return getPreferences(context).getLong(key, defValue);
}

public static SharedPreferences getPreferences(Context context) {
    return context.getSharedPreferences(PREF_NAME, MODE);
}

public static Editor getEditor(Context context) {
    return getPreferences(context).edit();
}

}

**** Utilizzato in Preferenze di Scrivi valore come : - ****

Preferences.writeString ( getApplicationContext ( ) ,                     Preferences.NAME, " dev " ) ;

**** Utilizzato in Preferenze per saperne di valore come : - ****

Preferences.readString ( getApplicationContext ( ), Preferences.NAME ,                     " " ) ;