Как сериализовать ArrayList на Android
У меня есть базовая функция, которая требует сериализации в моем приложении для Android. Пользователь добавит некоторые значения в ArrayList, и я хочу сериализовать его, чтобы избежать использования базы данных для этой маленькой опции и, конечно же, УЗНАТЬ, как сериализовать (я начинаю), потому что это кажется полезным. В любом случае пользователь сохраняет что-то в arraylist, программа выключается, программа запускается снова, и пользователь может видеть сохраненные данные. Как я могу это реализовать? Можете ли вы предоставить фрагмент кода или полезную ссылку?
Спасибо большое!
Ответы
Ответ 1
Вы можете сделать это с помощью пользовательского класса bean и реализовать Serializable
для этого
поэтому теперь, когда вы создаете ArrayList<E>
этого класса, это Serializable.
Пример:
Class dataBean implements Serializable
{
public String name;
}
ArrayList<dataBean> dataBeanArrayList = new ArrayList();
Итак dataBeanArrayList
теперь Serializable
, и вы также можете передать это между Intent
.
Ответ 2
Я предлагаю использовать flexjson для сериализации данных в файл. Затем вы можете прочитать это, используя эту библиотеку. Это имеет ряд преимуществ перед сериализацией, которая позволяет загружать ваш поток обратно в потенциальные разные версии ваших объектов. Используя ObjectInputStream, вы должны быть очень осторожны, и, честно говоря, я никогда не видел, чтобы все это работало хорошо.
http://flexjson.sourceforge.net
Вот сообщение в блоге, как это сделать:
http://wrongnotes.blogspot.com/2010/09/flexjson-meet-android.html