- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
SQLiteOpenHelper
和 SQLiteAssetHelper
有什么区别?我该如何使用它们?
我知道,当您使用 SQLiteOpenHelper
时,您必须覆盖 onCreate()
和 onUpgrade()
方法。此外,还可以添加、删除和查找数据库值。
但是,我读到 SQLiteAssetHelper
更适合我的情况 - 因为我将有一个预填充的数据库,我将执行比添加或删除或其他任何操作更多的查询。
所以基本上:
这两者之间的根本区别是什么?
对于在编译时而不是在运行时未知的数据库中的数据进行查询,哪个更好? (为此我将使用 query()
或 SQLiteQueryBuilder()
。)
我将如何设置正确的?
最佳答案
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?
Android docs对于 SQLiteOpenHelper
README对于 SQLiteAssetHelper
关于java - SQLiteOpenHelper 和 SQLiteAssetHelper 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578331/
我正在尝试从数据库中获取信息列表并将其显示到自定义 ListView 中。我已经有了 DatabaseHelper、Fragment 和 Adapter 设置。以下是我收到的错误: 04-29 13:
我在 Assets /数据库中有一个数据库,并且还有一个从数据库读取数据的类但是当打开数据库时我得到了缺少数据库错误 注意:我在 Assets /数据库中有 myDb.zip 这是我打开数据库的类:
我不理解文档,我担心如果我做错了,会不小心将我的表丢到我的数据库中并损坏原始文件。 https://github.com/jgilfelt/android-sqlite-asset-helper 关于
我正在使用 SqliteAssetHelper 从 Assets 文件夹导入数据库并将其复制到标准数据库应用程序文件夹。 虽然它的工作非常随机......当我用新文件替换 Assets 文件夹中的 .
如何通过 ID 检索特定数据并将其显示在 TextView 中?而不是检索数据并在 ListView 中显示所有数据。请帮忙! 公共(public)类 KaikaiProfileActivity 扩展
这个问题在这里已经有了答案: 9年前关闭。 Possible Duplicate: Android sqlite returned: error code = 14 我已经使用 SQLiteAsset
我从 DatabaseHandler 中收到 NullPointerException。 这是我的数据库处理程序: public class DatabaseHandler extends SQLit
我正在使用 SQLiteAssetHelper 类来管理我的应用程序中的 SQLite 数据库。 为此,我遵循了 GitHub 上有关如何使用 SQLiteAssetHelper 的说明,即将 com
我正在扩展 SQLiteAssetHelper 类以使用 Assets 文件夹中我预填充的数据库,但我的应用程序崩溃并给出错误提示 Caused by: android.database.sqlite
我开发了一个教程应用程序,其中保存了 500 多个问题和答案。他们是另一张名为收藏夹的 table 。用于用户输入。现在,我想用新的问题和答案更新我的应用程序。但我不想删除收藏夹表的数据(以防用户将一
我正在尝试创建一个包含 2 个不同表的数据库,一个可读,一个可写。用户将从可读表中获取信息并将他们的印象写入可写表(或者我希望如此)。日志类是由不同条目组成的日志。由于我希望预先填充可读数据库,因此我
我在使用 SQLiteAssetHelper 时在某些设备上遇到崩溃问题在我的应用程序中,主要是在 OnePlus 设备上。现在我读了here它与数据库存储的目录有关。 现在我正在尝试找到一个解决方法
我正在使用 SQLiteAssetHelper 库来处理我的应用程序数据库操作,它几乎适用于我测试过的每部手机。然而,一些使用 Android 2.3.3 - 2.3.7 的用户报告在调用打开数据库时
我目前正在编写一个 Android 应用程序。为了读取预先存在的数据库,我使用 SQLiteAssethelper。它工作得很好,但谁能告诉我如何使用 SQLiteAssethelper 插入数据?谢
在开发Android应用程序时我使用Android SQLiteAssetHelper 。问题是,偶尔在访问数据库时,我会在对象 DBQuery 中的对象 NullPointerException 中
我正在考虑使用 SQLiteAssetHelper我的应用程序中的库。我实际上找到了如何从数据库读取数据,但我不知道如何插入/删除/更新它们。 这甚至可能吗? 谢谢你帮助我! 最佳答案 pub
SQLiteOpenHelper 和 SQLiteAssetHelper 有什么区别?我该如何使用它们? 我知道,当您使用 SQLiteOpenHelper 时,您必须覆盖 onCreate() 和
我正在使用 Android SqliteAssetHelper 库 ( https://github.com/jgilfelt/android-sqlite-asset-helper )我已经使用这个
阅读 https://github.com/jgilfelt/android-sqlite-asset-helper 上的文档后,我似乎无法理解如何升级数据库 我只想将用户数据保存在一个表中。我不需要
我是 Robolectric 的新手,所以如果我在这里遗漏了一些明显的东西,请提前致歉。我有一个应用程序使用 SQLiteAssetHelper 从 assets 目录加载数据库,我想使用 Robol
我是一名优秀的程序员,十分优秀!