2012-03-20 23 views
0

私は小さなAndroidアプリを開発中です!
私は今、私はsharedpreferencesに、このArrayListオブジェクトを格納することができますどのように私は... sharedpreferencesに
jsonを使用してsharedpreferencesにデータを保存します

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

をMyPrefオブジェクトの配列を格納する必要がMyPref

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

クラスを持っている..
私は試しました..

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

String上のjava.lang.ClassCasteExceptionの取得 – Navaneeth

+0

Gsonを使用する必要がありますか? – Navaneeth

答えて

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

私は間違っているかもしれませんが、私はあなたがJSONObjectに任意のJavaオブジェクトを配置するJSONObject.put(...)を使用することはできません確信しています。ドキュメントから...

公共JSONObjectは、(文字列名、オブジェクト値)

JSONObject、JSONArray、文字列、論理値、整数、ロング、ダブル、NULL、またはnullを置きます。 NaNや無限大ではないかもしれません。

他のタイプのJavaオブジェクトを置くことはできず、ArrayList<MyPref>を入れようとしています。

+0

はい。 このdoestnot仕事! – Navaneeth

関連する問題