2012-03-06 15 views
5

¿Cómo puedo almacenar mi objeto personalizado en una base de datos? Para ser más claro, ¿cómo escribo estas declaraciones?Almacenar objetos personalizados (Obj definido por el usuario) en la base de datos de SQLite Android

Para crear una tabla, 1.

CREATE TABLE IF NOT EXISTS MY_TABLE(
     _id INTEGER PRIMARY KEY AUTOINCREMENT, customObject ??? NOT NULL); 

Lo que pasa en el ????

recuperar de un cursor,

2. MyObject obj = cursor.get???? ¿Qué método puedo utilizar para conseguir mi objeto almacenado.

Busqué en Google mucho, pero no tuve suerte. ¿Necesito almacenar un objeto serializable? ¿cómo?

Gracias de antemano.

+0

¿Puedo utilizar esta solución aquí, http://stackoverflow.com/a/7803828/563306 – dcanh121

Respuesta

13

¿Cómo puedo almacenar mi objeto personalizado en una base de datos?

No, a menos que esté utilizando una base de datos de objetos. Almacena una representación del objeto en una base de datos.

¿Qué pasa en el ????

Eso depende de lo que representa. Si convierte el objeto a XML o JSON, sería TEXT. Si convierte el objeto a una matriz de bytes (por ejemplo, Serializable), usaría BLOB.

Qué método puedo usar para obtener mi objeto almacenado.

Eso depende de lo que representa. Si convirtió el objeto a XML o JSON, use getString(). Si convirtió el objeto a una matriz de bytes, use getBlob().

La mayoría de los desarrolladores no harían nada de esto, sino que almacenarían los atributos del objeto como columnas individuales, para permitir la mayor flexibilidad posible al consultar la base de datos.

Cuestiones relacionadas