【问题标题】:Implementing DAO Pattern on Android project在 Android 项目上实现 DAO 模式
【发布时间】:2012-04-27 01:02:22
【问题描述】:

我正在开发 Android 3.1 及更高版本。

我有以下包:

es.viacognita.models 包含用于存储通过 Web 服务检索到的数据的类。当我得到所有的网络服务数据时,我需要将它插入到数据库中。

为了使它正确,我曾想过使用 DAO 模式,但我不知道该怎么做。

如果我使用 DAO 模式,是否需要使用 es.viacognita.models 类?我认为这些类将成为 DAO 类,不是吗?

我必须在哪里实现插入、更新或删除?在DBManager 上课?

【问题讨论】:

    标签: android database design-patterns dao


    【解决方案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) 层创建一个单独的库。使用这种方法,您可以将业务逻辑与数据访问层分开。

    【讨论】:

      猜你喜欢
      • 2021-12-16
      • 2018-05-20
      • 1970-01-01
      • 2013-08-22
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多