gpt4 book ai didi

android - 无法在 sharedpreferences 中检索保存的值

转载 作者:行者123 更新时间:2023-11-30 02:36:32 28 4
gpt4 key购买 nike

我想将我从登录 Activity 中获得的 token 保存在共享首选项中,因此当用户重新打开应用程序时,如果 token 与共享首选项中的 token 相同,则转到 SecondActivity,否则转到 LoginActivity我尝试了很多但无法正常工作,请帮助

负责保存和检索数据的方法类

public class SesionManagement {
SharedPreferences pref;
SharedPreferences.Editor editor;
Context _context;
int PRIVATE_MODE = 0;
private static final String PREF_NAME = "STORAGEBAY";
public static final String KEY_NAME = "token";

public SesionManagement(Context context){
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}
public void createLoginSession(String name){
editor.putString(KEY_NAME, name);
editor.commit();
}
public void checkLogin(String value,String gotValue){

if(value==gotValue) {
Toast.makeText(_context, "FAILED", Toast.LENGTH_SHORT).show();
Intent i = new Intent(_context, NavDraver.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
}
else{
editor.clear();
editor.commit();
Intent i = new Intent(_context, Login.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
}
}

我如何在 LoginActivity onCreate 中做到这一点

 session=new SesionManagement(getApplicationContext());
HashMap<String, String> tokens = session.getUserDetails();
String name = tokens.get(session.KEY_NAME);
if(token!=null) {
session.checkLogin(token, name);
}

然后我将值存储在 LoginActivity onPostExecute

  @Override
protected void onPostExecute(String s) {
session.createLoginSession(token);

pDialog.dismiss();
}

最佳答案

一切看起来都不错,但这是因为这条线

 public void checkLogin(String value,String gotValue){

if(value==gotValue) { //this line
Toast.makeText(_context, "FAILED", Toast.LENGTH_SHORT).show();
Intent i = new Intent(_context, NavDraver.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
}

改为

if(value.equals(gotValue)) or  if(value.matches(gotValue))

和他们一起玩..如果有帮助请告诉我

关于android - 无法在 sharedpreferences 中检索保存的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26451829/

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