gpt4 book ai didi

android - 一个 Activity 或 fragment 必须有一个单独的加载程序来执行每个数据库操作的类型吗?

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

似乎 Google 推荐的 fragment 或 Activity 与 sqlite 数据库交互的方式(使用 android 支持库)是通过扩展 AsyncTaskLoader 的加载程序,其工作方式类似于 CursorLoader 为 ContentProviders 所做的工作。

单个 Activity 或 fragment 可以以多种方式与数据库交互,更新、删除和查询一个或多个表中的数据。但是由于加载器只有一个地方可以执行数据库操作(即在 loadInBackground() 中),开发人员是否希望为每种类型的交互编写一个单独的加载器,特别是因为它看起来在 loadInBackground() 中参数化行为的唯一方法是通过 loaderManager.initLoader()args 参数将参数传递给加载器的构造函数?

非常感谢。

最佳答案

当不使用 ContentProvider 时,即直接使用 sqlite 时,如果要执行的一组数据库操作返回一个 Cursor,则使用 AsyncTaskLoader .该集合可能包括任何类型的操作——更新、查询、删除、插入。这些操作应该在 AsyncTaskLoader.loadInBackground() 中执行。

如果数据库操作集没有导致返回 Cursor,请使用 AsyncTask。在这种情况下,操作应该在 AsyncTask.doInBackground() 中执行。

关于android - 一个 Activity 或 fragment 必须有一个单独的加载程序来执行每个数据库操作的类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814674/

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