Android, хранилище на заказ ArrayList - PullRequest
1 голос
/ 10 ноября 2011

Я прочитал много тем об stackoverflow и Google, об этом аргументе, но я не могу сориентироваться, записывая собственный ArrayList в файлы! У меня есть ArrayList типа "CustomType". «CustomType» имеет две строковые переменные: «имя» и «описание».

Я хочу сохранить этот ArrayList для чтения после закрытия и повторного открытия моего приложения. Кто-нибудь помогает мне в этом? и кто-нибудь объяснит мне, что происходит, когда я сохраняю / читаю?

Ответы [ 3 ]

2 голосов
/ 10 ноября 2011

Вы могли бы написать это просто как CSV-файл, например,

1,name,desc
2,name2,desc2
3,name3,desc3
...

или вы можете использовать библиотеку gson - http://code.google.com/p/google-gson/,, чтобы преобразовать ее в строку json и затем записать ее в файл, чтобы при ее чтении вы могли напрямую получить объект из json

Я бы лично использовал второй метод,

Редактировать: для записи в CSV

try
{
  FileWriter writer = new FileWriter("<path>/MyFile.csv");
  while(lst.next())
  {
     for(int i = 0; i < columnSize; i++)
     {
        writer.append(i);
        writer.append(',');
        writer.append(lst.get(i).getName());
        writer.append(',');
        writer.append(lst.get(i).getDesc());
     }
     writer.append('\n');
  }
}
catch(Exception e)
{
  e.printStackTrace();
}

(при условии, что объект в стороне ArrayList имеет методы getName() и getDesc())

это может быть полезно при повторном чтении,

Получить и разобрать файл CSV в Android

1 голос
/ 10 ноября 2011

Чтобы сохранить любые данные, вы должны выбрать любой из доступных способов хранения данных

1)shared preferences
2)internal storage
3)external storage 
4)Sqlite
5)internet server

подробные документы здесь

через любой из этих способовВы можете сохранить ArrayList или другие данные, которые вы используете для заполнения экрана, поэтому каждый раз, когда пользователь откроет приложение, данные будут загружены из сохраненного местоположения

0 голосов
/ 10 ноября 2011

Вы также можете использовать файлы XML:

Таким образом, вы можете использовать все виды текста и символов, если вы используете CSV, вы не можете использовать«разделитель» в вашем контенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...