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