在 Android 项目上实现 DAO 模式
Posted
技术标签:
【中文标题】在 Android 项目上实现 DAO 模式【英文标题】:Implementing DAO Pattern on Android project 【发布时间】:2012-04-27 01:02:22 【问题描述】:我正在开发 android 3.1 及更高版本。
我有以下包:
es.viacognita.models
包含用于存储通过 Web 服务检索到的数据的类。当我得到所有的网络服务数据时,我需要将它插入到数据库中。
为了使它正确,我曾想过使用 DAO 模式,但我不知道该怎么做。
如果我使用 DAO 模式,是否需要使用 es.viacognita.models
类?我认为这些类将成为 DAO 类,不是吗?
我必须在哪里实现插入、更新或删除?在DBManager
上课?
【问题讨论】:
【参考方案1】:您可以在 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
【讨论】:
感谢您的回答。我还有一个问题:如何实现交易?谢谢。 事务是什么意思?插入、删除等操作? 是的。我必须插入很多表,如果其中一个失败,我必须撤消所有以前的插入。【参考方案2】:我会使用 DBManager 的命名空间。我将您的模型类视为业务实体类,并为 DAO (DAL) 层创建一个单独的库。使用这种方法,您可以将业务逻辑与数据访问层分开。
【讨论】:
以上是关于在 Android 项目上实现 DAO 模式的主要内容,如果未能解决你的问题,请参考以下文章
如何按照存储库模式在 Asp.Net Core 5.0 项目上实现 .Net Core Identity?