簡體   English   中英

如何將 Gson 值放入 HashMap

[英]How to put Gson value into HashMap

我有一個 Firebase 數據庫,我想在我的應用中存儲用戶信息。 在我的 firebase 數據庫中,我有 4 個字符串和 1 個這樣的數組列表。

用戶的價值觀

我想使用 SharedPreferences 將這些值存儲在我的應用程序中。 我確實檢索了電話號碼、出生日期、名字和性別,並將其存儲到一個 Hashmap 中。 但我無法獲得用戶的愛好。 我將 Gson 庫用於用戶愛好,但我不知道如何與其他字符串值一起使用。

public static final String IS_LOGIN = "IsLoggedIn";

public static final String KEY_NAME = "name";
public static final String KEY_BIRTHDATE = "birthdate";
public static final String KEY_GENDER = "gender";
public static final String KEY_PHONE = "phone";
public static final String KEY_HOBBIES = "hobbies";

public SessionManager(Context _context) {
    context = _context;
    usersSession = _context.getSharedPreferences("userLoginSession", Context.MODE_PRIVATE);
    editor = usersSession.edit();
}

public void createLoginSession(String name, String birthdate, String gender, String phone, ArrayList<String> hobby) {

    Gson gson = new Gson();
    String json = gson.toJson(hobby);

    editor.putBoolean(IS_LOGIN, true);

    editor.putString(KEY_NAME, name);
    editor.putString(KEY_BIRTHDATE, birthdate);
    editor.putString(KEY_GENDER, gender);
    editor.putString(KEY_PHONE, phone);

    editor.putString(KEY_HOBBIES, json);


    editor.commit();

}

public HashMap<String, String> getUsersDetailFromSession() {
    HashMap<String, String> userData = new HashMap<String, String>();

    userData.put(KEY_NAME, usersSession.getString(KEY_NAME, null));
    userData.put(KEY_BIRTHDATE, usersSession.getString(KEY_BIRTHDATE, null));
    userData.put(KEY_GENDER, usersSession.getString(KEY_GENDER, null));
    userData.put(KEY_PHONE, usersSession.getString(KEY_PHONE, null));

    return userData;
}

在 createLoginSession 中,我定義了一個 gson 變量,並像其他字符串一樣將 putString 值用於 KEY_HOBBIES。 我應該怎么做才能將用戶愛好與其他字符串放在 Hashmap 函數中? 我想加載和讀取 Hashmap 中的所有數據。 我的英語不是很好,謝謝大家。

你可以像這樣使用 jsonArray

JSONArray jsonArray = object.getJSONArray("response");
                    for (int i = 0; i <= jsonArray.length(); i++)
                    {
                        JSONObject obj = jsonArray.getJSONObject(i);
                         //here you use your objects
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM