我在整个应用程序中使用共享首选项。我遇到了问题。我认为我的数据在背景上丢失了。
SharedPreferences preferences = getSharedPreferences(pref_data, Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("isDriverLogin", "True");
editor.putString("driverPassword", driverPassword);
editor.putString("carrierId", carrierId);
editor.putString("CCTID", cctid);
editor.putString("shipment", entityShipment);
editor.putString("isAccepted", "");
editor.commit();
在应用程序的某个地方,我创建了另一个对象,只编辑了一部分数据
SharedPreferences preferences = getSharedPreferences(pref_data, Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("isDriverLogin", "True");
editor.commit();
我在整个申请过程中这样做。仅编辑一个或两个数据。但在某些时候我的应用程序崩溃或预期的行为没有发生。此行为取决于我的偏好数据。
我尝试通过创建一个共享首选项对象来修复它,并始终使用所有数据进行编辑。例如,我有5个关于共享首选项的数据。如果我只需要编辑一个,我仍然会在其他4上放一些数据,以确保没有被覆盖。
你们有什么想法吗?