如何仅更改存储在共享首选项中的 Json 对象中的一个值
How to change only one value in the Gson object Stored in the Shared Preferrence
这是JSON
我正在使用此功能
将此 JSON
保存在 shared preference
中
public static void persistUser(Context context, User user) {
mUser = user;
SharedPreferences.Editor pref =
context.getSharedPreferences(USER_SHAREDS,
Context.MODE_PRIVATE).edit();
pref.putString(USER_DATA, new Gson().toJson(user, User.class));
pref.apply();
}
现在我想更改 user_data 中的值 -> 用户封面图像而不更改所有其他数据
只需要改变任何一个值而不改变其他东西
帮我用简单的方法解决这个问题??
简单地说,你可以通过调用函数将用户取出并在更改后将其保存回来。
//Get user
User user = getPersistUser(context);
//Change
user.setCoverImage(true)
//Save
persistUser(context, user)
获取用户函数如
public static CoreUser getCoreUserInfo(Context context) {
Gson gson = new Gson();
String json = CacheHelper.read(context, CoreUser.OBJECT_NAME, "");
return gson.fromJson(json, CoreUser.class);
}
这是JSON
我正在使用此功能
将此JSON
保存在 shared preference
中
public static void persistUser(Context context, User user) {
mUser = user;
SharedPreferences.Editor pref =
context.getSharedPreferences(USER_SHAREDS,
Context.MODE_PRIVATE).edit();
pref.putString(USER_DATA, new Gson().toJson(user, User.class));
pref.apply();
}
现在我想更改 user_data 中的值 -> 用户封面图像而不更改所有其他数据 只需要改变任何一个值而不改变其他东西
帮我用简单的方法解决这个问题??
简单地说,你可以通过调用函数将用户取出并在更改后将其保存回来。
//Get user
User user = getPersistUser(context);
//Change
user.setCoverImage(true)
//Save
persistUser(context, user)
获取用户函数如
public static CoreUser getCoreUserInfo(Context context) {
Gson gson = new Gson();
String json = CacheHelper.read(context, CoreUser.OBJECT_NAME, "");
return gson.fromJson(json, CoreUser.class);
}