とにかく、Androidフォンの内部メモリまたは外部メモリにリスト変数を保存できますか?プリミティブデータを保存できることはわかっていますが、これについてはわかりません。
前もって感謝します。
はい、まさにあなたはプリミティブしか保存できないので、次のようなことができます:
List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
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);
}
この「シリアライズ」を独自のクラスにカプセル化して、リストをラップし、見栄えよく整理することができます。また、list
をJSON
に変換することもできます。
プログラムで一部の文字列値を格納/取得/削除する場合は、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