2011-03-16 114 views
9

我想知道在我的应用程序中存储自定义Java对象的最佳选择是什么。我读过序列化,但它似乎很慢。在Android中存储对象

什么是最佳选择?

+0

您是否尝试过[Parcel](http://developer.android.com/reference/android/os/Parcel.html)。 – Mudassir 2011-03-16 12:35:15

+0

可能的重复[最佳方法保存数据 - 首选项,sqlite,可序列化或其他?](http://stackoverflow.com/questions/4962426/best-method-for-saving-data-preferences-sqlite-serializable-or -other) – Macarse 2011-03-16 12:35:41

+0

“自定义Java对象”可能是数据复杂性和大小方面的任何事情。请详细说明。 – olivierg 2011-05-12 19:25:49

回答

13

如果你没有存储数据的满丰,您可以使用GSON Java对象转换成JSON字符串和将字符串存储在您的应用偏好中。 Gson有toJson(obj)方法和签证。

获取的数据进行应用程序的喜好,并成一个对象:

String json = appSharedPrefs.getString("someName","");  
return gson.fromJson(json, YourModel.class); 

为了让您的对象数据到应用程序的首选项:

String json = gson.toJson(obj); 

然后prefsEditor.putString("someName", json).apply()

+0

您可以发布一个参考链接或代码示例吗?谢谢。 – Kingsolmn 2011-05-12 17:59:53

+0

这应该让你开始。 – 2011-05-12 19:21:34

+0

感谢代码示例@Bill! – Kingsolmn 2011-05-13 04:02:31