15

とにかく、List変数をAndroid携帯の内部または外部メモリに保存できますか?プリミティブデータを保存できることはわかっていますが、これについてはよくわかりません。

前もって感謝します。

4

2 に答える 2

29

はい、正確にはプリミティブしか保存できないため、次のようになります。

List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");

StringBuilder csvList = new StringBuilder();
for(String s : list){
      csvList.append(s);
      csvList.append(",");
}

sharedPreferencesEditor.put("myList", csvList.toString());

次に、listもう一度作成するには、次のようにします。

String csvList = sharedPreferences.getString("myList");
String[] items = csvList.split(",");
List<String> list = new ArrayList<String>();
for(int i=0; i < items.length; i++){
     list.add(items[i]);     
}

この「シリアル化」を独自のクラスにカプセル化して、リストをラップし、整理整頓することができます。listまた、に変換することもできますJSON

于 2012-06-25T17:25:16.190 に答える
-2

プログラムに文字列値を保存/取得/削除する場合Listは、よりも優れていArrayます。以下にその使い方を紹介します。

 // Declaring List Variable
 List<String> Mylist = new ArrayList<String>();

 // Adding item to List
 Mylist.add(list.size(), "MyStringValue");   //this will add string at the next index

 // Removing element form list
 Mylist.remove(list.size()-1);   //this will remove the top most element from List
于 2014-04-03T13:07:42.140 に答える