我想使用SharedPreferences
在Android活动中保存字符串值。
这是我的SearchUserAdapter
课程:这里只传递搜索用户的用户ID:
final String searchuserid = Order.get(SearchProfile.TAG_USER_ID);
username_search.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent in = new Intent(activity,
SearchProfile.class);
in.putExtra("UserId", searchuserid);
activity.startActivity(in);
}
});
return vi;
}
在此SearchProfile.class中:
Intent i = getIntent();
userid = i.getStringExtra("UserId");
SharedPreferences loginPreferences = getSharedPreferences(M_SPF_NAME,
Context.MODE_PRIVATE);
loginPreferences.edit().putString(M_USERNAME, userid).commit();
如果我多次重新加载SearchPorile
活动,则意味着在从SearchUserAdapter
类中选择另一个用户ID时,时间也需要获得相同的用户ID。我怎样才能保存这个值?任何建议或想法将不胜感激。
答案 0 :(得分:2)
保存共享偏好:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
获取Shred偏好:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("storedName", "YourName");
答案 1 :(得分:1)
我可以用不同的方式向你提出建议。 首先,为共享首选项准备一个包含以下内容的类:
public static void put(Context context, String key, String value) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor prefsEditor = prefs.edit();
prefsEditor.putString(key, value);
prefsEditor.commit();
}
其次,在需要和存储数据的地方使用它。为了您的目的,您可以在适配器上调用和使用它(在这种情况下不需要Intent)。
答案 2 :(得分:0)
SharedPreferences myPrefs = getSharedPreferences("Userinfo", MODE_PRIVATE);
SharedPreferences.Editor editor = myPrefs.edit();
editor.putString("Key", "Yourvalue");
editor.putString("Key", "Yourvalue");
editor.commit();