bonjour,
est-il possible de retourner plusieurs paires/valeurs dans une SharedPrefernce en direction d'une activité "appelante" (MainActivity)?
J'ai écrit le code suivant pour retourner l'adresse ip d'un serveur et un numéro de port à l'activité précédente lors de l'appui sur le bouton back du téléphone:
Au niveau de la MainActivity:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { super.onKeyDown(keyCode, event); if (keyCode == KeyEvent.KEYCODE_BACK) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = preferences.edit(); String addr = edText_ip.getText().toString(); editor.putString(ADDR_SERVEUR, addr); //valeur affectée à la clé String port = edText_port.getText().toString(); editor.putString(PORT, port); //valeur affectée à la clé editor.commit(); this.finish(); return true; } //return super.onKeyDown(keyCode, event); return false; }
Dans add_serveur et port je n'ai que la valeur saisie dans le champ correspondant au port.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1) //code retourné par setParameterActivity { //relire dans une SharedPreferences SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); String value = preferences.getString(ADDR_SERVEUR, "0.0.0.0"); String port = preferences.getString(PORT, "2000"); Log.d("add_serveur", value); Log.d("port", port); } ....
La valeur dans add_serveur semble écrasée par celle dans port.
Donc, est-il possible de stocker plusieurs valeurs dans une SharedPreference ? Ca me semblerait un minimum...
Ou alors faut-il s'y prendre autrement?
Merci
Partager