android - 如何获取Android SharedPreferences的值

标签 android android-sharedpreferences

我正在尝试使用SharedPreferences,这就是我所做的

public void StoreToshared(Object userData){
    SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
    SharedPreferences.Editor prefsEditor = mPrefs.edit();

    Gson gson = new Gson();
    String json = gson.toJson(userData);
    Log.d("data", " Setup --> "+json);
    prefsEditor.putString("userinfo", json);
    prefsEditor.commit();

}

Log.d 结果是这样的

 Setup --> {"nameValuePairs":{"userData":{"nameValuePairs":{"phone":"089688xxxxxxx",
  "username":"username of User","flag":1,"Email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9df0e4f0fcf4f1ddf0fcf4f1b3fef2f0" rel="noreferrer noopener nofollow">[email protected]</a>",
  "tipe":"TP001","Deskripsi":"Ini tentang gua","user_id":"USER001",
 "password":"c83e4046a7c5d3c4bf4c292e1e6ec681","fullname":My fullname"}},"status":"true"}}

然后我尝试检索它,在其他 Activity 中这就是我所做的

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor prefsEditor = mPrefs.edit();

        String data = mPrefs.getString("userinfo", null);
        Log.i("Text", "Here is the retrieve");
        Log.i("data", " retrieve --> "+data);

    }

这是我如何打开我的其他 Activity

Intent intent = new Intent(Login.this, MainActivity.class);
startActivity(intent);

使用上面的脚本,我的 logcat 的结果,我只看到上面的 Log.d 。所以我的问题是,我怎样才能检索它?

最佳答案

尝试在您的SharedPreferences上添加一个键:

public void StoreToshared(Object userData){
    SharedPreferences mPrefs = getSharedPreferences("your_sp_key", MODE_PRIVATE); //add key
    SharedPreferences.Editor prefsEditor = mPrefs.edit();

    Gson gson = new Gson();
    String json = gson.toJson(userData);
    Log.d("data", " Setup --> "+json);
    prefsEditor.putString("userinfo", json);
    prefsEditor.commit();

}

检索:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SharedPreferences mPrefs = getSharedPreferences("your_sp_key", MODE_PRIVATE); //add key
    SharedPreferences.Editor prefsEditor = mPrefs.edit();

    String data = mPrefs.getString("userinfo", null);
    Log.i("Text", "Here is the retrieve");
    Log.i("data", " retrieve --> "+data);

}

关于android - 如何获取Android SharedPreferences的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48001014/

相关文章:

android - 如何使用导航组件将 fragment 实例保存在bottomNavigationView上

android - 如何对 session 室数据进行分类?

java - SharedPreferences - OnSharedPreferenceChangeListener

android - 从另一个 Activity 接收共享 SharedPreferences 值的值

android - 从 list 中删除后,应用权限显示在应用设置中

android - 在每项 Activity 中检查互联网连接?

java - 传递给子 Activity 时,Bundle 变为 null

android - 在初始化数据库之前将 SharedPreferences 与 SQLiteOpenHelper 结合使用

安卓:SharedPreferences 问题