[英]How do i store the user details as session
您好,我正在使用dynamodb,我想知道用户登录后如何维护会话。
以下是我的登录代码
Runnable runnable = new Runnable() {
public void run() {
Users user = mapper.load(Users.class,username);
System.out.println(user.getPassword());
System.out.println(username);
if (user != null && user.getPassword().equals(password)){
//System.out.println("Correct");
runOnUiThread(new Runnable() {
@Override
public void run() {
setContentView(R.layout.activity_account);
}
});
}
这是我设置和获取所有实体的用户类
public class Users {
private String id;
private String email;
private String username;
private String password;
private String role;
@DynamoDBHashKey(attributeName = "id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@DynamoDBAttribute(attributeName = "email")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
其他所有变量也是如此。
请查看这些代码,并告诉我如何存储会话,因为我希望已登录用户的ID。
V1
您可以使用如下所示的SharedPreferences
public class Prefs {
public static void putPref(String key, String value, Context context){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(key, value);
editor.commit();
}
public static String getPref(String key, Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key, null);
}
}
在您必须存储之后
Prefs.putPref("the key","the value",your context);
之后获取您的存储数据
String userId = Prefs.getPref("the key",your context);
您可以在应用程序中的任意位置使用它。
V2
使用Gson将此添加到您的build.gradle
compile 'com.google.code.gson:gson:1.7.2'
并像这样将用户对象转换为json
Gson gson = new Gson();
User user = ...;
String json = gson.toJson(user);
存储用户之后
Prefs.putPref("user",json,your context);
得到你的用户
String json = = Prefs.getPref("user",your context);
User user = null;
if(json != null)
user = gson.fromJson(json,User.class);
就这样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.