2012-02-17 9 views
0

私は三角形、正方形、長方形、五角形のリストを持っています。これらの形状は、テキストフィールドを介して入力され、後でキューにテキストを表示するために呼び出されました。おそらく約200のエントリがあります。どのローカルストレージがアンドロイドリストに最適です

これはどのように行われますか?私は多くの方法があることを見てきましたが、どれが最良であるかの説明ではわかりませんでしたか?

+0

ストレージを永続化する必要がありますか?つまり、アプリのさまざまな使い方の間に保存されたリストが必要ですか? – jmcdale

答えて

0

ArrayListを参照できます。これはVectorのように機能します。あなたのデータを保存するのに最適な方法です。 データベースに保存したい場合は、Androidのデータベースに組み込まれているSQLiteを使用して実行できます。

+0

変更するためにデータを編集して取得する必要があった場合は、データベースが改善されますか?それを削除しますか?たぶん私はその部分を言っておくべきだったでしょう... – user963070

+0

はい、あなたはこのような何かをすることができます: あなたのデータはデータベースに格納されます。プログラムが実行されると、すべてのデータを取得してarraylistに表示することができます。更新を行うと、すべての情報がデータベース上で更新されます。次回にプログラムを実行すると、更新されたデータがそこに表示されます。おそらく、データベースはデータを最新の状態に保つ良い方法です。 – DroidMatt

0

あなたが最大サイズを持っているか、正確にいくつの図形があるか知っていれば、図形[]を使うべきです。 保存する必要のあるシェイプの数がわからない場合は、リストを使用する必要があります。

このアイテムのリストを、アプリケーションを終了するときに保存し、ユーザーが再起動したときに再度読み込む場合は、sqlliteを使用します。常にsqlliteを使用しないでください。通常、起動時にデータベースからロードし、終了時にデータベースに書き込みます。

+0

プログラムを開くたびに情報を保存する必要があります。なぜ私のデータベースのすべてのニーズにSQLliteを使用しないのですか?プログラムの電源が切れてもリストは存続しますか? – user963070

+0

いいえ、リストと配列は、アプリが削除されるとメモリから消去されます。プログラムがオフになってもデータを生き残るには、ディスクに書き込む必要があります。おそらく、SQLLiteはディスクに書き込むための最速かつ最良の方法です。データベースへの読み書きは、メモリへの読み書きよりも時間がかかりますので、常に書き込む必要はありません。ユーザーは必要なすべてをメモリ内で実行し、メモリ内の内容をディスクに保存する必要があります。 – edthethird

+0

プログラムが起動すると、テーブルの対応するすべてのエントリのリストを作成し、リストを変更してから、プログラムがシャットダウンしたら、テーブルにすべてを保存しますか?それはテーブルの内外に移動するための多くのものか​​もしれません。 – user963070

0

static final ArrayList> arraylistobject = new ArrayList>();

ます。private void yourFunctionName()

{

HashMap<String,Object> temp = new HashMap<String,Object>(); 




    temp.put("imageUri", drawableID); 




    temp.put("key",String); 




    arraylistobject.add(temp); 




    HashMap<String,Object> temp1 = new HashMap<String,Object>(); 




    temp1.put("imageUri", drawableID); 




    temp1.put("key",String); 




    arraylistobject.add(temp1); 

}

あなたは上記のハッシュマップでのArrayListを定義し、あなたがリストINTIローカルストレージのすべての図形を追加することができます使用することができます。

関連する問題