2012-06-25 11 views
9

Androids telefonun dahili veya harici belleğine bir liste değişkeni kaydedebilir miyim? İlkel verileri kaydedebileceğimi biliyorum, ancak bundan emin değilim.Android kayıt listesi <String>

Şimdiden teşekkürler.

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()); 

Sonra senin list tekrar yapacağınız oluşturmak için: Eğer böyle bir şey böylece

+0

Kaydetmek için hangi yöntemi kullanmaya çalışıyorsunuz? –

+0

SQLite kullanın :) hafif bir db – iNan

+2

http://stackoverflow.com/questions/3876680/is-it-possible-to-add-an-array-or-object-to-sharedpreferences-on-android –

cevap

19

Evet aynen sadece kaydedebilirsiniz ilkel

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);  
} 

Sen içine bu "seri" encapsulate olabilir senin Kendi sınıfını güzel ve düzenli tutmak için bir liste sarar. Ayrıca, list'unuzu JSON'a dönüştürmeyi de inceleyebilirsiniz.

+2

OP'den emin olun Liste öğeleri virgül içeriyorsa daha fazla dikkat çeker. JSON yöntemini en çok tercih ederim. O kadar kolay. – Samuel

+0

Gson en kolay: gson.toJson (OBJECT) her zaman yaptığım şeydir. – Codeversed

-1

Programınızda bazı dize değerini saklamak/silmek/silmek isterseniz, List, Array'dan daha iyidir. Aşağıda aşağıda nasıl kullanılacağını göstereceğim.

// 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