gpt4 book ai didi

java - 无法从 getdefaultsharedpreferences 获得正确的结果

转载 作者:行者123 更新时间:2023-11-30 00:21:53 24 4
gpt4 key购买 nike

当我使用defaultsharedpreferences保存多个数据时,发现数据被覆盖了。我对发生的事情感到困惑。偏好的期望值

userId is 2 
authorizedHeader is bhlrYXZpbjpseWthdmlu

和检索值

userId is 2 
authorizedHeader is 2

image show the result

private static final String PREF_AUTHORIZED_QUERY = null;

private static final String PREF_USERID_QUERY = null;

public static String getStoredUserIdQuery(Context context){
return PreferenceManager.getDefaultSharedPreferences(context)
.getString(PREF_USERID_QUERY, null);
}

public static String getStoredAuthorizedQuery(Context context){
return PreferenceManager.getDefaultSharedPreferences(context)
.getString(PREF_AUTHORIZED_QUERY, null);
}

public static void setStoredQuery(Context context, String userId, String authorizedHeader){
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putString(PREF_AUTHORIZED_QUERY, authorizedHeader)
.putString(PREF_USERID_QUERY, userId)
.apply();
}

最佳答案

您将值用作两个键的 null 意味着只有一个键,即 null 将覆盖彼此(PREF_USERID_QUERY 将覆盖以 null 作为键保存的先前值)

所以给他们值(value)观

private static final String PREF_AUTHORIZED_QUERY = "authorized";

private static final String PREF_USERID_QUERY = "userid";

你可以想象一下

PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putString("null", authorizedHeader)
.putString("null", userId) // so there is actually only one key
.apply();

关于java - 无法从 getdefaultsharedpreferences 获得正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46141337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com