我在我的应用中使用基于令牌的身份验证。当用户通过Android应用程序登录时,服务器返回需要随每个后续请求一起发送的令牌。
我需要将该值存储在设备上。由于token是一个简单的字符串,我以为我会使用SharedPreferences来保存该值。
两个想法让我对在sharedpref中使用哪个方法保存令牌感到困惑。另一个是在实施更改密码时接收令牌的地方。
答案 0 :(得分:1)
尝试这样的事情。创建一个保存值的类
public class SharedPreferenceCustom {
private String defValue = "";
private SharedPreferences sharedPreferences;
public SharedPreferenceCustom(Context context) {
sharedPreferences = context.getSharedPreferences("app_name", Context.MODE_PRIVATE);
}
public void setSharedPref(String inputKey, String inputValue) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(inputKey, String.valueOf(inputValue));
editor.apply();
}
public String getSharedPref(String inputKey) {
return sharedPreferences.getString(inputKey, defValue);
}
}
并在需要时致电
通过
打电话 SharedPreferenceCustom sp = new SharedPreferenceCustom(mContext);
sp.setSharedPref("KEY", "VALUE");
// or
sp.getSharedPref("KEY");