Kel*_*p23 3 java sqlite android sqliteopenhelper android-sqlite
SQLiteOpenHelper和之间的区别是什么SQLiteAssetHelper?我如何使用它们?
我知道你使用SQLiteOpenHelper时必须覆盖onCreate()和onUpgrade()方法.此外,可以添加,删除和查找数据库值.
但是,我读到这SQLiteAssetHelper对于我的情况更好 - 因为我将有一个预先填充的数据库,我会做更多的查询,而不是添加或删除或其他任何东西.
所以基本上:
这两者之间的根本区别是什么?
对数据库中的数据进行查询哪个更好,这在编译时是未知的,而是在运行时?(我将使用query()或SQLiteQueryBuilder()为此.)
我该如何设置正确的?
1)这两者之间的根本区别是什么?
两者都是管理和版本化数据库文件的助手.区别仅在于如何设置架构和初始内容以及如何完成版本迁移.
SQLiteOpenHelper通过调用onCreate()回调来设置新的数据库文件,并通过调用回调来迁移旧的数据库文件onUpgrade().
SQLiteAssetHelper 通过从资产复制文件来设置新的数据库文件,并通过从资产运行升级脚本来迁移旧的数据库文件.
2)哪一个更适合对数据库中的数据进行查询,这些数据在编译时是未知的,而是在运行时(在此处将使用query()或SQLiteQueryBuilder())
两者都可以正常工作,动态插入数据和获取SQLiteDatabase对象后的代码getWritableDatabase()是相同的.
3)我将如何设置正确的?
Android的文档的SQLiteOpenHelper
自述为SQLiteAssetHelper