繁体   English   中英

如何将用户详细信息存储为会话

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM