使用SharedPreferences在android中保存字符串值

时间:2014-02-05 05:35:08

标签: android android-activity sharedpreferences

我想使用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。我怎样才能保存这个值?任何建议或想法将不胜感激。

3 个答案:

答案 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();