простой способ сохранить LinkedList в приложении для Android?

Какой самый простой или родной способ сохранить список объектов в приложении для Android?

Мне нужно сохранить его, а затем загрузить его, когда приложение запустится снова.

было бы неплохо, может быть, у кого-то есть готовая библиотека, которая делает все для меня.

Ответы на вопрос(3)

Решение Вопроса

LinkedList воплощать в жизньParcelable так что вы можете положить их в свойbundle, ВonSaveInstance Вы можете поместить свои объекты вbundle с помощью:

bundle.putParcelableArrayList ("key", list);

И вonRestoreInstanceState вашейActivity получить данные от этогоbundle с помощью :

bundle.getParcelableArrayList();

но, поскольку они находятся в моем буфере обмена ...

Это должно работать с любой реализацией List.

Далее вам нужно будет определить / обменятьConstants.EXTERNAL_CACHE_DIR и может захотеть использовать что-то кроме UI-Thread для производства.

 public static void persistList(final List<String> listToPersist, final String fileName) {
    FileWriter writer = null;
    BufferedWriter bufferedWriter = null;
    File outFile = new File(Constants.EXTERNAL_CACHE_DIR, fileName);
    try {
      if (outFile.createNewFile()) {
        writer = new FileWriter(outFile);
        bufferedWriter = new BufferedWriter(writer);
        for (String item : listToPersist) {
          bufferedWriter.write(item + "\n");
        }
        bufferedWriter.close();
        writer.close();
      }
    } catch (IOException ioe) {
      Log.w(TAG, "Exception while writing to file", ioe);
    }
  }

  public static List<String> readList(final String fileName) {
    List<String> readList = new ArrayList<String>();
    try {
      FileReader reader = new FileReader(new File(Constants.EXTERNAL_CACHE_DIR, fileName));
      BufferedReader bufferedReader = new BufferedReader(reader);
      String current = null;
      while ((current = bufferedReader.readLine()) != null) {
        readList.add(current);
      }
    } catch (FileNotFoundException e) {
      Log.w(TAG, "Didn't find file", e);
    } catch (IOException e) {
      Log.w(TAG, "Error while reading file", e);
    }
    return readList;
  }
 30 мая 2012 г., 17:41
В основном я делаю их Parcelable. Но использование ProtoBuf для этого также имеет большую производительность.
 30 мая 2012 г., 17:18
почему вы используете файл для сохранения простого массива? его легче хранить в SharedPreferences.
 30 мая 2012 г., 17:40
Да. Но легко легче держать предметы. В этом случае вы сохраняете строки. Как бы вы поступили с таким подходом и сохранили более сложные объекты?
 30 мая 2012 г., 17:21
Потому что Parcelable довольно многословен и должен быть реализован для каждого класса, который вы хотите сохранить.

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

 30 мая 2012 г., 17:09
я думаю, что общие предпочтения, используемые для небольших данных, у него есть весь связанный список
 30 мая 2012 г., 17:11
что вы подразумеваете под меньшими данными? Вы можете сохранить любой объект в общих настройках.

Ваш ответ на вопрос