【问题标题】:Difference between SQLiteOpenHelper and SQLiteAssetHelper?SQLiteOpenHelper 和 SQLiteAssetHelper 的区别?
【发布时间】:2014-08-26 00:44:56
【问题描述】:

SQLiteOpenHelperSQLiteAssetHelper 有什么区别?如何使用它们?

我知道当你使用SQLiteOpenHelper 时,你必须重写onCreate()onUpgrade() 方法。此外,还可以添加、删除和查找数据库值。

但是,我读到SQLiteAssetHelper 更适合我的情况——因为我将拥有一个预先填充的数据库,并且我将执行比添加或删除或其他任何操作更多的查询。

所以基本上:

  1. 这两者之间的根本区别是什么?

  2. 哪一个更适合查询数据库中在编译时未知但在运行时未知的数据? (我将使用query()SQLiteQueryBuilder()。)

  3. 如何设置正确的?

【问题讨论】:

    标签: java android sqlite android-sqlite sqliteopenhelper


    【解决方案1】:

    1) 这两者的根本区别是什么?

    两者都是管理和版本控制数据库文件的助手。区别仅在于架构和初始内容的设置方式以及版本迁移的完成方式。

    SQLiteOpenHelper 通过调用您的onCreate() 回调设置一个新的数据库文件,并通过调用您的onUpgrade() 回调迁移旧的数据库文件。

    SQLiteAssetHelper 通过从您的资产中复制一个文件来设置一个新的数据库文件,并通过从资产运行升级脚本来迁移旧的数据库文件。

    2) 哪个更适合查询数据库中在编译时未知但在运行时未知的数据(将在此处使用 query() 或 SQLiteQueryBuilder())

    在获取SQLiteDatabase 对象后,两者都可以很好地处理动态插入的数据和代码,例如和getWritableDatabase()是一样的。

    3) 我将如何设置正确的?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 2013-08-07
      • 2011-10-20
      • 2020-01-23
      相关资源
      最近更新 更多