Использование SharedPreference для постоянного сохранения данных, как я могу добавить данные в ArrayList - PullRequest
0 голосов
/ 31 марта 2011

Я использую SharedPreference для сохранения данных (String), которые были выбраны в ListView из действия (A), каждый раз, когда выбирается только тот, который был выбран, и был сохранен SharedPreference, и план состоит в том, чтобы прочитать и показать эти данные (и все старое, которое было выбрано в прошлом) в деятельности (B) в listView.

Как я могу сохранять и добавлять каждый раз выбранный и сохранять все старые, чтобы сохранить такой, как ArrayList, чтобы каждый раз добавлять новый в ListView всей выбранной истории?

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Вам следует рассмотреть возможность использования базы данных SQLite вместо SharedPreferences.

0 голосов
/ 31 марта 2011

Если вы действительно хотите использовать SharedReference, вам нужно создать 2 метода для преобразования и деконвертации ваших данных (в \ из String), например ::

static final String UNIQUE_SPLIT_VALUE = "<|>";

String arrayListToString(List<String> list) {
    StringBuilder result = new StringBuilder();
    for (String value : list) {
        result.append(value);
        result.append(UNIQUE_SPLIT_VALUE);
    }
    return result.toString();
}

List<String> stringToArrayList(String prefString) {
    return Arrays.asList(prefString.split(UNIQUE_SPLIT_VALUE));
}

...

saveToPreferences(arrayListToString(myDataList));
myDataList = stringToArrayList(getDataFromPreferences());

Еще один способ достижения тех же результатов - сериализация \ десериализация ваших данных в \ из файла.

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