2012-06-25 11 views
9

क्या वैसे भी मैं एक सूची चर को एंड्रॉइड फोन आंतरिक या बाहरी मेमोरी में सहेज सकता हूं? मुझे पता है कि मैं आदिम डेटा को बचा सकता हूं, फिर भी इस बारे में निश्चित नहीं हूं।एंड्रॉइड सेव करें सूची <String>

अग्रिम धन्यवाद।

+0

इसे सहेजने के लिए आप किस विधि का उपयोग करने का प्रयास कर रहे हैं? –

+0

SQLite का उपयोग करें :) एक हल्के डीबी – iNan

+2

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

उत्तर

19

हाँ बिल्कुल आप केवल बचा सकता है पुरातन आप कुछ इस तरह कर सकता है जिससे:

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

आप संपुटित सकता है में इस "serializing" अपने अपनी कक्षा को अच्छी और साफ रखने के लिए एक सूची लपेटना। इसके अलावा आप अपने list को JSON में परिवर्तित कर सकते हैं।

+2

सुनिश्चित करें कि OP अगर उनकी सूची वस्तुओं में अल्पविराम होता है तो अधिक ध्यान देता है .. मैं JSON विधि को सबसे अच्छा पसंद करता हूं। यह कितना आसान है। – Samuel

+0

जीसन सबसे आसान है: gson.toJson (OBJECT) हमेशा मैं करता हूं। – Codeversed

-1

यदि आप अपने प्रोग्राम में कुछ स्ट्रिंग मान को स्टोर/पुनर्प्राप्त/हटाना चाहते हैं, तो ListArray से बेहतर है। नीचे नीचे मैं आपको दिखाऊंगा कि इसका उपयोग कैसे करें।

// 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 
संबंधित मुद्दे