gpt4 book ai didi

java - SQLiteOpenHelper 和 SQLiteAssetHelper 之间的区别?

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:17 25 4
gpt4 key购买 nike

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

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

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

所以基本上:

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

  2. 对于在编译时而不是在运行时未知的数据库中的数据进行查询,哪个更好? (为此我将使用 query()SQLiteQueryBuilder()。)

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

最佳答案

1) What is the fundamental difference between these two?

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

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

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

2) Which one would be better for doing a query for data in the database that is not known at compile time but instead at runtime (will use query() or SQLiteQueryBuilder() right here)

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

3) And how would I go about setting up the right one?

关于java - SQLiteOpenHelper 和 SQLiteAssetHelper 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com