2011-11-10 11 views
1

私はstackoverflowとgoogleについて多くのトピックを読んできましたが、この引数についてはカスタムArrayListをファイルに書き込むことができません。 "CustomType"タイプのArrayListがあります。 "CustomType"には、 "name"と "description"という2つの文字列変数があります。Android、storage custom ArrayList

このArrayListを保存して、アプリケーションを閉じて開いた後に読み込みたいとします。 誰も私の手伝いをしてくれますか?誰かが私が保存/読んだときに起こることを教えてくれますか?

答えて

2

あなたは

1,name,desc 
2,name2,desc2 
3,name3,desc3 
... 

か、gsonライブラリ使用することができ、このように、単純にcsvファイルとしてそれを書くことができます - 、http://code.google.com/p/google-gson/json文字列に変換した後、ファイルに書き込むそのようにあなたがそれを読んだとき、あなたは直接json

からオブジェクトを取得することができ、私は個人的には第二の方法、

編集]を使用します。CSV

に書き込むための
try 
{ 
    FileWriter writer = new FileWriter("<path>/MyFile.csv"); 
    while(lst.next()) 
    { 
    for(int i = 0; i < columnSize; i++) 
    { 
     writer.append(i); 
     writer.append(','); 
     writer.append(lst.get(i).getName()); 
     writer.append(','); 
     writer.append(lst.get(i).getDesc()); 
    } 
    writer.append('\n'); 
    } 
} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 

あなたが持っているあらゆる種類のデータを保存するには

Get and Parse CSV file in android

+0

ありがとうございました。 cvsファイルを使用する簡単な方法ですか? – TimeParadox

+0

私の答えを編集しました。助けて欲しいと思っています:) – Optimus

+0

また、csvファイルは.csv拡張子(csv - カンマ区切りの値)付きの単純なテキストファイルです。 – Optimus

1

これは再びそれを読んで役に立つかもしれません

、(ArrayListには、メソッドgetName()getDesc()を持っている側のオブジェクトを想定)利用可能なデータ記憶装置を選択する

1)shared preferences 
2)internal storage 
3)external storage 
4)Sqlite 
5)internet server 

詳細なドキュメントには、ArrayListまたはあなたが画面を埋めるために使用している他のデータを格納することができ、これらの方法のいずれかthrogh here

、そのたびにユーザーがアプリのデータが保存された場所から

+0

はい!私はこのドキュメントを読んだことがありますが、私は自分の状況で何をしなければならないのか分かりません。私は内部ストレージを使用しなければならないと思います(私のデータは400/500Kbyteより大きくなりません)。 – TimeParadox

0

をロードされますが開きますあなたもXMLファイルを使用することができます。

あなたがあなたのコンテンツに「区切り」を使用することはできませんCSVを使用している場合は、テキストやシンボルのすべての種類を使用することができますこの方法です。

+0

ありがと? ^ – TimeParadox