我正在使用com.google.code.gson:gson:2.8.2Gson 版本的实现,试图将 Location 对象保存到共享首选项中。我将位置对象的纬度和经度设置为Latitude = 23.456 Longitude = 77.65。在尝试将 Location 对象转换为 JSON 时,当 Android 目标 SDK 为 28 并且此代码在 Android pie 设备上运行时,该对象未正确转换为 JSON。相同的代码在奥利奥上运行良好
public void saveObject(final String key, final Object data) {
if (data != null) {
Gson gson = new Gson();
String value = gson.toJson(data);
// save in shared preferences
mSharedPreferences.edit().putString(key, value).apply();
}
}
Run Code Online (Sandbox Code Playgroud)
该图像包含一个
调试时。可以看到变量值的值。