Хранение двумерного массива строк в базе данных SQLite - PullRequest
1 голос
/ 22 марта 2011

Я хочу сохранить значения в строковом массиве, т.е. значения arr [16] [16].Если я поставлю это с использованием цикла 2 for, то, насколько я понимаю, 256 строк будут добавлены в базу данных, что не является моим требованием.Я хочу, чтобы все 256 значений в одном столбце одной строки в базе данных.

Я новичок в Android.Пожалуйста, предложите.

Ответы [ 2 ]

3 голосов
/ 22 марта 2011

Вы можете сериализовать массив и вставить сериализованные данные в столбец BLOB.Тогда вам просто нужно получить значение BLOB и десериализовать, чтобы вернуть ваш массив.

3 голосов
/ 22 марта 2011

Не могли бы вы сделать что-то вроде:

StringBuilder one_big_row = new StringBuilder();
for(String[] array : arr)
     for(String string : array)
          one_big_row.append(string);
String row = one_big_row.toString();

Мне кажется глупым. Редактировать: следует использовать StringBuilder по соображениям производительности.

Кроме того, если вам не нужны эти данные для сохранения (после того, как пользователь закрывает приложение), вам, вероятно, не следует использовать БД SQLite. Если вам нужно, чтобы оно сохранялось, попробуйте переосмыслить, как оно должно храниться, потому что оно будет утомительным и медленным, когда вы получите эти данные через подстроки очень большой строки, состоящей из 256 других строк.

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