2012-04-15 25 views
5

Estoy desarrollando un Android 3.1 y superior.Implementación del patrón DAO en el proyecto de Android

I tienen los siguientes paquetes:

enter image description here

es.viacognita.models contienen clases para almacenar los datos recuperados con un servicio web. Cuando obtengo todos los datos del servicio web, necesito insertarlos en la base de datos.

Para hacerlo bien, he pensado en usar el patrón DAO, pero no sé cómo hacerlo.

Si uso el patrón DAO, ¿debo usar las clases es.viacognita.models? Creo que estas clases van a ser clases DAO, ¿no?

¿Dónde tengo que implementar inserciones, actualizaciones o eliminaciones? en la clase DBManager?

Respuesta

5

Puede implementar inserciones, actualizaciones, eliminaciones y cualquier otra operación en la clase DBManager o crear un DAO clase separada, que hace todas las operaciones que desea hacer en la base de datos ...

public class DAO { 
private SQLiteDatabase database,customdb; 
private DBManager dbHelper; 



public DAO(Context context) { 
    dbHelper = new DBManager(context); 
} 
public void open() throws SQLException { 
    database = dbHelper.getWritableDatabase(); 

} 
public void close() { 
    dbHelper.close(); 
} 
//insering,deleting and all other operations you want to perforem on the database 
    } 
+0

Gracias por su respuesta . Tengo otra pregunta: ¿cómo puedo implementar transacciones? Gracias. – VansFannel

+0

¿qué quiere decir con transacciones? Insertar, eliminar y otras operaciones? – 5hssba

+0

Sí. Tengo que insertar muchas tablas, y si una de ellas falla, tengo que deshacer todas las inserciones anteriores. – VansFannel

2

Usaría el espacio de nombres de DBManager. Trato sus clases de modelo como clases de entidades comerciales y creo una biblioteca separada para la capa DAO (DAL). Al usar esta metodología, puede separar su lógica empresarial de su capa de acceso a datos.

Cuestiones relacionadas