gpt4 book ai didi

android - Android中sqlite数据库如何插入大量数据

转载 作者:行者123 更新时间:2023-11-29 20:33:37 25 4
gpt4 key购买 nike

我有很多数据存储在 CSV 文件中(大约 20,100 行),我需要将这些数据插入到 sqlite 数据库中。

此插入需要很长时间才能完成。插入此数据的最快方法是什么?

最佳答案

正如您所建议的,行数很大我建议不要使用 AsyncTask,因为它与您的 Activity 生命周期无关,即如果您启动它的 Activity 死了,这并不意味着 AsyncTask 也会终止,因此如果您尝试启动 AsyncTask 并且如果您的 Activity 以某种方式终止,例如屏幕旋转或按下后退键,则在重新启动时将生成另一个 AsyncTask 而不是它被链接已经在执行 AsyncTask。因此重复相同的操作。

所以,总而言之,我建议采用以下方法

(一)

  1. 创建一个 IntentService,它的 handleIntent() api 已经在工作线程中执行,因此您不必担心任何事情,一旦完成队列中的消息完成后它会自动消失,所以完全不用担心泄漏任何资源。

  2. 编写批量插入行的逻辑,同样使用内容解析器 bulkInsert() api。我会建议每批插入100个roes,你可以实现回滚和错误检查以确保插入正常。

  3. 所有插入完成后,您可以使用 Handler 和 Messengers 回传到您的 UI。

有了这一切,你将完成两大挑战

  1. 不要挂断你的 UI,避免任何可能的 ANR
  2. 即使按下后退键,也确保数据库操作顺利进行,因为它已被后台任务占用。

关于android - Android中sqlite数据库如何插入大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668405/

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