Скажем, у меня есть какой-то простой класс, и как только он будет создан как объект, я хочу иметь возможность сериализовать его содержимое в файл и получить его, загрузив этот файл позже ... Я не уверен, с чего начать, что мне нужно сделать, чтобы сериализовать этот объект в файл?
public class SimpleClass {
public string name;
public int id;
public void save() {
/* wtf do I do here? */
}
public static SimpleClass load(String file) {
/* what about here? */
}
}
Это, наверное, самый простой вопрос в мире, потому что это действительно простая задача в .NET, но в Android я новичок, поэтому я полностью потерялся.
android
serialization
file-io
Бен Леш
источник
источник
Я пробовал эти 2 варианта (чтение / запись) с простыми объектами, массивом объектов (150 объектов), картой:
Опция 1:
Option2:
Вариант 2 вдвое быстрее, чем вариант 1
Неудобство варианта 2 заключается в том, что вам нужно сделать специальный код для чтения:
источник
Я только что создал класс для обработки этого с помощью Generics, поэтому его можно использовать со всеми типами объектов, которые можно сериализовать:
источник
Полный код с обработкой ошибок и добавленным файловым потоком закрывается. Добавьте его в свой класс, который вы хотите сериализовать и десериализовать. В моем случае имя класса
CreateResumeForm
. Вы должны изменить его на собственное имя класса.Android
интерфейсаSerializable
недостаточно для сохранения ваших объектов в файл, он только создает потоки.Используйте это так
Activity
:источник
Я использую SharePrefrences:
источник
Вы должны добавить класс ObjectSerialization в свою программу, следующее может работать
}
если вы используете для хранения массива с SharedPreferences, чем используйте следующее: -
Для сериализации: -
Для десериализации: -
источник