gpt4 book ai didi

java - 将 json 响应数组存储到 session 中

转载 作者:行者123 更新时间:2023-12-01 09:21:23 24 4
gpt4 key购买 nike

我的登录 Activity 正在将用户名和密码发送到 URL 并获取成功状态。我想在 session 中存储 json 响应,例如用户 ID、姓名、电子邮件信息,并在 MainActivity 中检索它。我正在使用下面的代码进行 json 响应。

JSONObject jObj = new JSONObject(response);
String userId = jObj.getString("user_id");

我的回答是

{"tag":"login",
"error":false,
"user_id":"5",
"user":{"name":"Chandra shankar",
"email":"chandra@gmail.com"
}
}

下面是我在 Session.java 中的 SharedPreferences

public class Session {
private SharedPreferences sp;
private SharedPreferences.Editor spEditor;


public Session(Context context) {
sp = PreferenceManager.getDefaultSharedPreferences(context);

}


public boolean setLogin(boolean status) {
spEditor = sp.edit();
spEditor.putBoolean("is_logged_in", status);
spEditor.commit();
return true;
}

public boolean getLoggedIn() {
return sp.getBoolean("is_logged_in", false);
}

}

最佳答案

使用SharedPreferences .

SharedPreferences preferences = this.getSharedPreferences("APP_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();

editor.putString("ID", userId).apply();

如果你想取回值(value)。

String id = preferences.getString("ID");

编辑

public class Session {
private SharedPreferences sp;
private SharedPreferences.Editor spEditor;
private String ISLOGIN = "is_logged_in";
private String USER_ID = "user_id";

public Session(Context context) {
sp = PreferenceManager.getDefaultSharedPreferences(context);

}


public boolean setLogin(boolean status) {
spEditor = sp.edit();
spEditor.putBoolean(ISLOGIN, status);
//use apply for async process
spEditor.apply();
return status;
}

public boolean getLoggedIn() {
return sp.getBoolean(ISLOGIN, false);
}

public void setUserId(String userid){
sp.edit().putString(USER_ID,userid).apply();
}


//get user id
public String getUserId(){
return sp.getString(USER_ID);
}

}

//Activity 中

Session session = new Session(this);
String id = session.getUserId();

p/s:我推荐你使用这个TinyDB共享首选项

关于java - 将 json 响应数组存储到 session 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144521/

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