2013-09-12 2 views
-2

Я проводил много времени, пытаясь найти лучший способ сохранения списка строк. Моя активность отображает edittext для ввода строки, кнопку для ее добавления, а затем список, который отображает добавленную строку и все ранее добавленные строки. Я думаю, что SQLite слишком много для этого, но я не могу понять, как хранить список в общих предпочтениях. Я слышал, что люди упоминают JSON и GSON, хотя у меня нет опыта в этом, и я не уверен, какой вариант лучше.Сохранение списка строк, отображаемых в списке?

Я очень благодарен за советы относительно того, какой метод лучше всего подходит для этой ситуации. Спасибо заранее всем.

+0

Посмотрите вокруг, найти подобный вопрос: http://stackoverflow.com/questions/9451572/saving-a-json-file-to-internal-memory –

+0

Извините за глупый вопрос. – domi91c

+0

без проблем, добро пожаловать! удачи. В следующий раз будьте точны, задавая такие вопросы! :) –

ответ

1

Вы можете использовать SharedPreference, чтобы сохранить список строк. Если у вас есть более структурированные данные, то с помощью базы данных может быть лучше управлять иначе вы можете использовать Sharedreference, чтобы сохранить и получить список следующим образом:

//Function to get the array in SharedPreference 
Public String[] loadArray(String arrayName) { 
    SharedPreferences prefs = getSharedPreferences("preferencename", 0); 
    int size = prefs.getInt(arrayName + "_size", 0); 
    String array[] = new String[size]; 
    for(int i=0;i<size;i++) 
     array[i] = prefs.getString(arrayName + "_" + i, null); 
    return array; 
} 

//Function to save the array in SharedPreference 
public boolean saveArray(String[] array, String arrayName) { 
    SharedPreferences prefs = getSharedPreferences("preferencename", 0); 
    SharedPreferences.Editor editor = prefs.edit(); 
    editor.putInt(arrayName +"_size", array.length); 
    for(int i=0;i<array.length;i++) 
     editor.putString(arrayName + "_" + i, array[i]); 
    return editor.commit(); 
} 

Таким образом, для сохранения вызова массива:

String [] yourList; // Load the array with values 
saveArray(yourList, "nameOfList"); 

для того, чтобы загрузить массив из общих предпочтений

String [] arrName = loadArray("nameOfList"); 

См How to properly use load array and save array methods? и Save ArrayList to SharedPreferences больше.

+0

Спасибо большое, что сделал это для меня. – domi91c

Смежные вопросы