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

时间:2016-08-24 14:14:11

标签: java android 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。

1 个答案:

答案 0 :(得分:2)

<强> 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);

那就是