我正在开发一款小型Android应用程序!
我有一节课MyPref
public class MyPref{
{
java.util.Calendar cal;
int id;
String name;
//some more methods and constructor
}
我需要将一组MyPref对象存储到共享偏好...
java.util.ArrayList<MyPref> array=new java.util.ArrayList<MyPref>();
array.add(//MyPref object);
array.add(//MyPref object);
现在我如何将这个ArrayList对象存储到sharedpreferences ..
我试过..
JSONObject o=new JSONObject();
o.put("list",array);
SharedPreferences s=PreferenceManager.getDefaultSharedPreferences(this);
Editor edt=s.edit();
edt.putString("mylist",o.toString());
edt.commit();
但这不起作用!
还有其他选择吗?
请帮助我..
在推荐中比...更胜一筹。
答案 0 :(得分:0)
JSONObject o=new JSONObject();
o.put("list",array);
我可能错了,但我很确定你不能使用JSONObject.put(...)
将任意Java对象放入JSONObject
。来自文档...
public JSONObject put(String name,Object value)
value JSONObject,JSONArray,String,Boolean,Integer,Long,Double,NULL或null。可能不是NaN或无穷大。
没有提及能够放置任何其他类型的Java对象,并且您尝试放置ArrayList<MyPref>
。