2012-03-20 6 views
0

작은 Android 앱을 개발 중입니다!
나는
json을 사용하여 sharedpreferences에 데이터를 저장합니다.

public class MyPref{ 
{ 
java.util.Calendar cal; 
int id; 
String name; 
//some more methods and constructor 
} 

내가 MyPref의 배열 된 SharedPreferences에 객체를 저장할 필요가 MyPref 클래스 ... 지금

java.util.ArrayList<MyPref> array=new java.util.ArrayList<MyPref>(); 
array.add(//MyPref object); 
array.add(//MyPref object); 


가 어떻게 ..
을 된 SharedPreferences이 ArrayList에 객체를 저장할 수 있습니다 나는 시도했다.

JSONObject o=new JSONObject(); 
o.put("list",array); 
SharedPreferences s=PreferenceManager.getDefaultSharedPreferences(this); 
Editor edt=s.edit(); 
edt.putString("mylist",o.toString()); 
edt.commit(); 

그러나 이것은 효과가 없습니다!
다른 대안이 있습니까 ??
PLZ 도와주세요 .. advace에서
고맙습니다 ..

+0

"작동하지 않습니다"보다 구체적이어야합니다. 로그캣 오류, ANR, 일종의 눈에 보이는 오류가 있습니까? 아니면 아무 것도 볼 수 없습니다 ... –

+0

문자열에서 java.lang.ClassCasteException이 발생합니다 – Navaneeth

+0

Gson을 사용해야합니까? – Navaneeth

답변

0
JSONObject o=new JSONObject(); 
o.put("list",array); 

내가 잘못 될 수 있지만 당신이 JSONObject에 임의의 자바 객체를 넣어 JSONObject.put(...)을 사용할 수 없습니다 확신 해요. 워드 프로세서에서 ...

공개 된 JSONObject는 (문자열 이름, 개체 값)

된 JSONObject, JSONArray, 문자열, 부울, 정수, 롱, 더블, NULL, 또는 null을 넣어. NaN 또는 무한대 일 수는 없습니다.

다른 유형의 Java 객체를 넣을 수 있다는 언급이없고 ArrayList<MyPref>을 넣으려고합니다.

+0

예. 이 doestnot work! – Navaneeth

관련 문제