Как сериализовать 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