2011-03-16 122 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