问题标签 [android-cursorloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
160 浏览

android - 在数据库查询中返回我的选择参数(“周围行”)周围的行

我正在查询Android中的数据库。该表是带有值的普通表,没有什么特别之处。

我需要的是:返回给定时间戳之前和之后发生的两个事件。

示例:假设我有下表,我的选择是 1332200003002:

所以,如果我的选择是 1332200003001 或 1332200003002... 我希望返回的行是n+1n+2,这样我就可以看到Value从 98 到 90。

我使用的是 a CursorLoader,因此它必须最好适合其通常的调用。

我的代码大小谢谢你!


作为旁注,我可以BETWEEN猜测(它已经工作)的安全值,然后迭代CursorJava 中剩余的几行以查明我需要的两行。但是,在我看来,这似乎是一种非常普遍的需求,因此提出了这个问题。在 Java 中使用所有我们需要使用 Cursor 进行的常见缓冲测试似乎是一种浪费。

0 投票
3 回答
5179 浏览

android - 多个 ContentProviders 的 CursorLoader

我需要制作一个 ListAdapter 来呈现来自多个 ContentProvider 的数据。ContentProviders 本身代表关系数据库中的一个表。

我想使用 CursorLoader 系统将聚合数据检索到 ListView 中。这可能与 1 个装载机有关还是我需要使用多个装载机?我宁愿用一个。

我不确定如何让 2 个 ContentProviders 相互交互,而不是在代码中手动进行连接,这似乎也不是一个很好的选择。

0 投票
3 回答
1947 浏览

android - 对于执行的每个数据库操作的类型,活动或片段是否必须具有单独的加载器?

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

单个活动或片段可以以多种方式与数据库交互,更新、删除和查询一个或多个表中的数据。loadInBackground()但是由于加载器只有一个地方来执行数据库操作(即loadInBackground()在加载器构造函数的args参数通过LoaderManager.initLoader()?

非常感谢。

0 投票
2 回答
3633 浏览

android - Android CursorLoader 没有响应 ContentProvider 通知

我正在更新 Android 2.2 应用程序以使用 CursorLoader(使用 v4 兼容性库),并且我正在努力理解为什么onLoadFinished当内容提供者通知与 CursorLoader 查询关联的内容发生更改时不调用该方法.

CursorLoader 正在查询客户内容提供者。我的提供程序在其查询方法中设置通知 URI:

并通知其插入/更新/删除方法的更改:

我检查了两种情况下的 URI 是否相同。以前我使用具有相同内容提供者的 ManagedQuery 并且查询的内容更新得很好,这让我认为内容提供者可能没问题。

我查看了LoaderCursorSupport示例,有趣的是,当我在 Nexus One 上运行它时,我没有看到它反映了我对联系人姓名所做的更改(在示例应用程序和联系人应用程序之间切换)。应该是?如果是这样,是否有一些我不知道的潜在问题?

0 投票
1 回答
1504 浏览

android - Android CursorLoader vs AsyncQueryHandler?

我已经看到了如何实现 CursorLoader 和 AsyncQueryHandler。如果我想将它用于 SimpleCursorTreeAdapter 的 Android 2.2 应用程序,我应该使用哪一个?

0 投票
1 回答
3942 浏览

android - 让 SQLiteCursorLoader 观察数据变化

我正在尝试使用使用 Commonsware 的 Loader 的适配器来实现 DataListFragment。此 Loader 直接使用 SQLiteDatabase,不需要使用 ContentProvider。

关于 Loaders 的 android 参考声明:“当 Loaders 处于活动状态时,它们应该监视其数据源并在内容更改时提供新结果。”

在我的 SQLiteCursor 实现下(如下),这不会发生。OnLoadFinished()被调用一次,就是这样。据推测,可以Loader.onContentChanged()在底层数据库发生更改的地方插入调用,但通常数据库代码类不知道加载器,所以我不确定实现这一点的最佳方法。

是否有人对使加载程序“数据感知”有任何建议,或者我应该将数据库内容包装为 ContentProvider 并改用 CursorLoader?

0 投票
6 回答
6210 浏览

android - loader 在 Android 中比 Asynctask 有什么优势?

Loaders 与 Async 任务相比有什么优势吗?此外,如何使装载机与 Android froyo 的手机兼容。

编辑:

这里的主要问题是我没有使用本机 DB(SqlLite)。在开发服务器上使用数据库。显然,我不能再使用CursorLoader了。AsyncTaskLoader根本没有例子。如果有,请做链接。

将所需的数据加载到本地数据库然后使用查询它是一个更好的主意CursorLoader吗?

0 投票
1 回答
2604 浏览

android - 带有 AsyncTaskLoader 的 Fragment 会影响其他 Fragment 附加到 Activity

我使用 AsyncTaskLoader 从数据库查询中加载游标。我遵循了 Android 开发者示例:http: //developer.android.com/reference/android/content/AsyncTaskLoader.html

但是不知何故,在此片段(使用加载器)之后添加到页面适配器的片段没有附加到活动,并且当它尝试使用需要活动的方法(如 getString())时,会抛出异常并说这个片段没有附加到任何活动。

这是一些代码:

  1. 将片段添加到页面适配器。

    /li>
  2. AsyncTaskLoader 实现:

    抽象公共类 AbstractCursorLoader 扩展 AsyncTaskLoader {

    /li>
  3. 初始化加载器:

    }

    /li>

我真的不知道为什么会这样。

PS我在评论中制作代码块时遇到了一些问题,我觉得它有一个错误,很抱歉。

在此先感谢,埃拉德。

0 投票
3 回答
1153 浏览

android - CursorLoader 不显示数据库整体

我有一个查询数据库的CursorLoaderin a ListFragment(即在 a 内)。ViewPager我有一个该数据库的内容提供者,我已经验证了它的工作原理。

问题是这样的:当应用程序第一次运行时,一个单独的服务会在 a 中调用批量插入ContentProvider

列表中的CursorLoader片段在第一次运行时返回 0 行(当创建数据库时)。如果我关闭并重新启动应用程序,那么CursorLoader效果很好,并且完全返回了我需要的内容。我试图通过处理程序实现等待,但它似乎没有帮助。这是ListFragment利用CursorLoader:

谁能让我知道为什么会发生这种情况,或者至少引导我朝着正确的方向前进?谢谢!

0 投票
1 回答
13987 浏览

android - Android eclipse startManagingCursor 已弃用,但想支持较旧的 API 版本?

我试图理解一些东西,我相信这对某些人来说是非常基础的。

我到处读到 startManagingCursor 方法已被弃用,您应该使用 CursorLoader 类。但这是否意味着即使支持 API 级别 < 11 的应用程序也应该使用 CursorLoader 类?还是说如果你打算只支持 Honeycomb 及以上,那么使用 cursorLoader?

我似乎无法使用 api 4 导入游标加载器类,所以我假设使用 CursorLoader 直到 Android 3.0+ 才适用,但是有人可以帮我验证一下吗?

谢谢