【发布时间】:2017-10-12 05:27:04
【问题描述】:
我使用HashMap 来存储我使用 API 收到的数据。之后,我使用 SharedPreferences 来存储接收到的 HashMap 数据。存储部分完成。我可以使用 SharedPreferences 查看我想要存储的记录数。
这是保存数据的代码:
if (result != null && result.length() > 0)
{
for (int j = 0; j < result.length(); j++)
{
JSONObject resultObj = result.getJSONObject(j);
String label_id = resultObj.getString("label_id");
String arabic = resultObj.getString("arabic");
String english = resultObj.getString("english");
String key = resultObj.getString("key");
//Create a new model and set the received value
LabelModel labelModel = new LabelModel();
labelModel.setLabelId(label_id);
labelModel.setArabic(arabic);
labelModel.setEnglish(english);
labelModel.setKey(key);
int label = Integer.parseInt(label_id);
//Put the value
map.put(label, labelModel);
}
}
//With the below line, I stored the hashMap data using SharedPreferences
Pref.setValue(mActivity, AppPrefrences.PREF_LABELS, map);
完成上述步骤后,我按照这组代码设置并获取来自 SharePreferences 的值,我使用 SharedPreferences 将其存储在应用程序中。 为此,我使用了以下代码:
public static String PREF_LABELS ="labels";
public static void setValue(@NonNull Context context, String key, Object obj) {
Pref.openPref(context);
Editor prefsPrivateEditor = Pref.sharedPreferences.edit();
prefsPrivateEditor.putString(key, String.valueOf(obj));
prefsPrivateEditor.commit();
prefsPrivateEditor = null;
Pref.sharedPreferences = null;
}
@Nullable
public static String getValue(@NonNull Context context, String key, Object obj) {
Pref.openPref(context);
String result = Pref.sharedPreferences.getString(key, String.valueOf(obj));
Pref.sharedPreferences = null;
return result;
}
现在,我正在尝试检索存储在 SharedPreferences 中的数据。 这是我用来检索数据的代码:
String labels = Pref.getValue(mActivity, AppPrefrences.PREF_LABELS, "");
当我调试应用程序时,我会得到以下格式的 Labels 值。我收到的记录数量相同。
格式如下:
{572=com.*****.landlord.model.LabelModel@23a282e, 598=com.*****.landlord.model.LabelModel@c954fcf, 590=com.*****.landlord.model.LabelModel@2fe3d5c, 103=com.*****..........}
如何从这种格式中获取每个数据?
【问题讨论】:
-
在共享首选项中将 resultObj.toString() 存储为字符串而不是检索为字符串并解析是最佳实践!!
标签: java android sharedpreferences