Я хочу сохранить ArrayList, чтобы он был постоянным. Содержание может измениться. Как лучше всего подойти к этому в Android?
Ваш вопрос сродни вопросу "У меня есть этот мешок с вещами - мне переложить эти вещи в коробку, ведро, бочку или мусорное ведро?".
Не зная, что это за «материал», мы не можем легко ответить на вопрос.
Ваши общие варианты — либо использовать базу данных (возможно, в первую очередь избавиться от ArrayList
), либо сохранить файл (сериализация, XML, JSON и т. д.).
Вообще говоря, у базы данных SQLite есть преимущества, поскольку она использует транзакции и в целом будет более надежной, чем просто написание собственного файла. Однако в вашем ArrayList
могут храниться вещи, которые могут не работать в базе данных. Конечно, в вашем ArrayList
могут храниться вещи, которые вообще невозможно сохранить (например, сокет, виджет).
Я не знаком с Android SDK, но знаком с Java. Одна вещь, которую вы можете легко сделать, это сериализовать ArrayList. Затем, когда вы прочитаете его снова, это будет объект ArrayList, который вы можете легко использовать, как если бы вы только что его создали.