gpt4 book ai didi

Android SQLite 查询、插入、更新、删除,总是需要在后台线程?

转载 作者:可可西里 更新时间:2023-11-01 19:06:38 24 4
gpt4 key购买 nike

我目前使用加载器从我的 ContentProvider 中获取数据(以启用我的游标的自动更新)。这种方法对于查询数据库来说是直接的,但它似乎不适合任何其他数据库操作(例如插入、更新、删除)。

我的问题是:

  1. 是否所有 SQLite 操作都需要在后台线程上进行,或者在 UI 线程上执行插入、更新或删除单行等简单操作是否安全?
  2. 确保所有查询都通过后台线程的良好设计模式是什么?我想实现 AsyncTask,我应该创建一个可以说是扩展 AsyncTask 并执行每个 SQLite 操作的 SuperTask 吗? (奖励:你能提供简单的例子吗?)

最佳答案

我已经在我的 UI 线程上完成了 SQLite 操作。我想真正的问题是您的查询是否会花费很长时间。我从来没有因为在我的 SQLite 数据库上执行 SQL 调用的时间太长而导致我的应用程序崩溃。

话虽如此,如果您计划编写可能需要时间加载的复杂查询,您会希望将其作为 AsyncTask 或 Thread 运行,并在需要时使用回调来更新您的 UI。

这是一个关于 Android 上 SQLite 的很棒的教程(它还解决了您正在谈论的一些复杂的 sql 计时问题): http://www.vogella.com/tutorials/AndroidSQLite/article.html

关于Android SQLite 查询、插入、更新、删除,总是需要在后台线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22340678/

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