将自定义对象数组保存到共享首选项

MEX*_*MEX 4 arrays android object sharedpreferences

我可以将自己的对象数组保存到SharedPreferences中,如下面的帖子中所示吗?

自定义对象的Android ArrayList - 保存到SharedPreferences - 可序列化?

但是他没有保存数组,那么是否有可能将自定义对象数组保存到SharedPreferences中,就像在链接的帖子中一样?

Or *_*Bar 31

您可以使用gson序列化类对象并将它们存储到SharedPreferences中.您可以在此处https://code.google.com/p/google-gson/downloads/list下载此jar

SharedPreferences  mPrefs = getPreferences(Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

保存:

Editor prefsEditor = mPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(MyObject);
prefsEditor.putString("MyObject", json);
prefsEditor.commit();
Run Code Online (Sandbox Code Playgroud)

要回归:

Gson gson = new Gson();
String json = mPrefs.getString("MyObject", "");
MyObject obj = gson.fromJson(json, MyObject.class);
Run Code Online (Sandbox Code Playgroud)