2012-03-06 25 views
5

Come posso archiviare il mio oggetto personalizzato in un database? Per essere più chiari come scrivo queste dichiarazioni.Memorizza oggetti personalizzati (Oggetto definito dall'utente) nel database SQLite Android

Per creare una tabella, 1.

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

Cosa va nel ????

Per recuperare da un cursore,

2. MyObject obj = cursor.get???? Quale metodo posso usare per ottenere il mio oggetto memorizzato.

Ho cercato su Google molto, ma senza fortuna. Devo memorizzare un oggetto serializzabile? Come?

Grazie in anticipo.

+0

Posso usare questa soluzione qui, http://stackoverflow.com/a/7803828/563306 – dcanh121

risposta

13

Come posso archiviare il mio oggetto personalizzato in un database?

Non lo è, a meno che non si stia utilizzando un database di oggetti. Memorizzate una rappresentazione dell'oggetto in un database.

Cosa succede nel ????

Dipende da cosa è la vostra rappresentazione. Se si converte l'oggetto in XML o JSON, sarebbe TEXT. Se si converte l'oggetto in una matrice di byte (ad esempio, Serializable), si utilizzerà BLOB.

Quale metodo è possibile utilizzare per ottenere il mio oggetto archiviato.

Dipende da cosa è la vostra rappresentazione. Se hai convertito l'oggetto in XML o JSON, utilizza getString(). Se hai convertito l'oggetto in una matrice di byte, utilizza getBlob().

La maggior parte degli sviluppatori non farebbe nulla di tutto questo, ma preferirebbe archiviare gli attributi dell'oggetto come singole colonne, per consentire la massima flessibilità possibile nell'interrogazione del database.

Problemi correlati