Добрый день!
В андроиде я новичек от слова "совсем"(как и в Java). Начал писать первое, что пришло в голову - книгу с рецептами. Суть в том, что на главном экране расположен ListView с заголовками и кнопка "добавить". При нажатии на "добавить", открывается другое активити, в котором вводится название рецепта и его описание. Из этих данных создается новый объект:
public class Recipe implements Parcelable{
private String recipeName;
private String recipeDescriptions;
public Recipe(String recipeName, String recipeDescriptions) {
this.recipeName = recipeName;
this.recipeDescriptions = recipeDescriptions;
}
} //дальше реализация Parcelable
При нажатии на Item в ListView должно происходить редактирование этого рецепта. На данный момент реализовано новое Activity, в которое передаются recipeName и recipeDescriptions и заносятся в соответствующие EditText'ы. Все редактируется и сохраняется прекрасно. Однако, когда встал вопрос о сохранении объектов, для их восстановления при загрузке приложения, меня просто заклинило. Неужели тут нельзя обойтись без БД? Я думаю, что меня понесло не в ту степь.
Подскажите, пожалуйста, как правильнее всего реализовать хранение и восстановление при загрузке? Может быть мне нужно полностью пересмотреть концепцию приложения и все делать каким-либо другим способом? Может вовсе не нужно делать класс Recipe, а все делать String'ами?
Есть 4 варианта:
SharedPreferences
- способ для бедных, когда надо сохранять чуть-чуть и немногоSerializable
чтение/запись через ObjectInputStream/ObjectOutputStream
- с записью на внешний файл в Context.getFilesDir()
- не рекомендую.Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты