我是否需要带有光标加载器的内容提供者?

我遇到麻烦如何使用CursorLoader。

我想解决的问题是如何显示ListActivity中的SQLite数据库的数据。 列表行使用自定义布局,因此需要来自3个字段的数据(全部在同一个表中)。

除了一些堆栈溢出的问题,我也阅读这篇博客文章 ,来到我需要为我的数据库创build一个内容提供商的决定。

在我去Android的帮助之前,从来没有使用内容提供商如何做到这一点。

第1点说:

如果使用完全在您自己的应用程序中,则不需要提供者使用SQLite数据库。

所以现在我被卡住了,我似乎无法使用没有ContentProvider的CursorLoader,并build议不要创build一个ContentProvider,如果它只用于我的应用程序。

我目前在想,也许这个帮助已经过时了,或者在编写时没有考虑光标加载器呢?

那么我需要继续创build一个ContentProvider,还是有另一种方法来做到这一点? 任何意见将是有益的!

Solutions Collecting From Web of "我是否需要带有光标加载器的内容提供者?"

简单的答案是,你可以推出你自己的Loader来跳过内容提供者的需求,并直接与SQLite数据库进行交互。 其他人已经完成了实现,其中之一是由CommonsWare完成,称为LoaderEx 。 该项目有一个名为SQLiteCursorLoader的类,您可能会觉得有用。

除了上述GitHub项目提供的示例之外,还可以使用不带内容提供者的Loaders来检出我的一个testing应用程序 (也在GitHub上)。

经过研究,我发现如果您使用内置的CursorLoader,则需要ContentProvider IS。

正如wsanville所说,你可以推出自己的Loader,这样它就不需要ContentProvider了。

创buildContentProvider非常简单。 很简单,它不应该阻碍你使用CursorLoader。 下面是一个简单的使用它们与一个简单的ContentProvider的例子: http : //responsiveandroid.com/2012/03/19/using-an-android-cursor-loader-with-a-content-provider.html