【问题标题】:save string value in android using SharedPreferences使用 SharedPreferences 在 android 中保存字符串值
【发布时间】:2014-03-01 10:05:58
【问题描述】:

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

【问题讨论】:

  • 您只需将值保存在 Activity onPause() 中的 Preferences 并将其加载到 Activity onResume()

标签: android android-activity sharedpreferences


【解决方案1】:

保存共享偏好:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();

获取碎纸偏好:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String name = sharedPreferences.getString("storedName", "YourName");

【讨论】:

    【解决方案2】:

    我可以为您提供不同的建议。 首先,您为共享偏好准备一个类,其中包含:

    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)。

    【讨论】:

      【解决方案3】:
      SharedPreferences myPrefs = getSharedPreferences("Userinfo", MODE_PRIVATE);
      SharedPreferences.Editor editor = myPrefs.edit();
      editor.putString("Key", "Yourvalue");
      editor.putString("Key", "Yourvalue");
      editor.commit();
      

      【讨论】:

      • 用代码给出一些解释,以便新的未来用户可以轻松理解。
      猜你喜欢
      • 2014-12-25
      • 1970-01-01
      • 2018-08-08
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      相关资源
      最近更新 更多