簡體   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