Лучший подход к хранению ArrayLists в SQLite - PullRequest
0 голосов
/ 22 июня 2011

Я новичок в программировании на Android, но у меня есть опыт работы с Java.

То, что я хотел бы знать, - каков наилучший подход для хранения списков массивов и тому подобного в SQLite для Android? Хранение в таблицах занимает, на мой взгляд, смысл OO-программирования, однако я не хочу использовать db4o, поскольку позже я хочу портировать свое приложение на iPhone.

Когда дело доходит до этого, какой подход вы, ребята, используете? Довольно простой пример, если у меня есть класс «Дом» с ArrayList «Объектов», как мне их хранить. Также я не хочу использовать сериализацию.

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Это классический пример использования базы данных sqlite для хранения данных. в основном каждый объект будет представлять одну строку в вашей таблице (каждый примитив будет столбцом) Вы будете запрашивать таблицу и использовать объект курсора для перемещения по элементам. В некоторой степени это альтернатива базе данных.

0 голосов
/ 22 июня 2011

Вы можете сохранить свой ArrayList в форме BLOB-объекта. Вот как вы конвертируете ArrayList в BLOB-объект.

try {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = null;
    oos = new ObjectOutputStream(bos);

    // mArrayList is the ArrayList you want to store
    oos.writeObject(mArrayList);
    byte[] buff = bos.toByteArray();

    // You can store the blob in the database
    Blob blob = new SerialBlob(buff);
} catch (Exception e){
}

Теперь это работает, только если ваш ArrayList является сериализуемым. Веселись!

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