我正在开发Android 3.1及以上版本。
我有以下的包:
es.viacognita.models
包含了通过web service获取到的数据存储类。当我获取所有web服务数据时,我需要将其插入到数据库中。
为了做对,我考虑使用DAO模式,但我不知道如何做。
如果我使用DAO模式,我是否需要使用 es.viacognita.models
类呢?我想这些类会成为DAO类,不是吗?
在哪里实现插入、更新或删除呢?在 DBManager
类中吗?
我正在开发Android 3.1及以上版本。
我有以下的包:
es.viacognita.models
包含了通过web service获取到的数据存储类。当我获取所有web服务数据时,我需要将其插入到数据库中。
为了做对,我考虑使用DAO模式,但我不知道如何做。
如果我使用DAO模式,我是否需要使用 es.viacognita.models
类呢?我想这些类会成为DAO类,不是吗?
在哪里实现插入、更新或删除呢?在 DBManager
类中吗?
您可以在DBManager类中实现插入、更新、删除和所有其他操作,或者创建一个单独的dao类,在数据库上执行您想要执行的所有操作...
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
}
我会使用DBManager的命名空间。我将你的模型类视为业务实体类,并为DAO(DAL)层创建一个单独的库。使用这种方法,您可以将业务逻辑与数据访问层分离。