ArutoriaSama 2022-07-04 09:40 采纳率: 50%
浏览 39
已结题

android sqlite的使用为什么还要再建一个管理类

问题遇到的现象和发生背景

android使用sqlite为什么在创建一个类(例:MyHelper)继承SQLiteOpenHelper类以后,还要再建一个类(例:MyHelperManager)来管理MyHelper的增删改查,而不是直接在MyHelper里写增删改查函数。

问题相关代码,请勿粘贴截图
class MyHelper(context: Context?) :SQLiteOpenHelper(context, "MyHelper", null, 1) {
    private var db:SQLiteDatabase = this.writableDatabase

    override fun onCreate(db: SQLiteDatabase) {
        db.execSQL()
    }

    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
        db.execSQL("drop table if exists MyHelper")
        onCreate(db)
    }
    //增删改查函数
    fun insertSQL()
    fun deleteSQL()
    fun updateSQL()
    fun querySQL()

}
运行结果及报错内容

无。

我的解答思路和尝试过的方法

我听说这样做是为了低耦合,但是如果再建一个类来管理MyHelper那MyHelperManager里面不也是要写MyHelper相关的东西吗?并不能直接拿到其他继承了SQLiteOpenHelper的类用,而需要改的。
所以这个MyHelperManager应该没必要吧。

我想要达到的结果

无。

  • 写回答

2条回答 默认 最新

  • 灯塔@kuaidao 2022-07-05 10:00
    关注

    1.并不是非必须的。比如开发用mvc,后面有mvvm,具体项目用那种架构没有人会强制让你必须使用那种架构。只是用新的架构更有利于扩展,可维护等。

    至于为什么还需要新建MyHelperManager来管理增删改查,没有人强制要求。新建一个单独类来管理增删改查无非就是为了"分离关注点" https://zhuanlan.zhihu.com/p/54625074

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月22日
  • 修改了问题 9月24日
  • 修改了问题 9月24日
  • 展开全部

悬赏问题

  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题