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

Joh*_*ohn 19 sqlite android android-contentprovider

我在解决如何使用CursorLoader方面遇到了麻烦.

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

除了一些Stack Overflow问题,我还阅读了这篇博文,并决定我需要为我的数据库创建一个内容提供程序.

在我去Android安卓帮助之前从未使用过内容提供商.

第1点指出:

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

所以现在我卡住了,我似乎没有使用没有ContentProvider的CursorLoader,如果只在我的应用程序中使用,我建议不要创建ContentProvider.

我目前正在考虑可能是帮助已经过时或者在编写时没有想到光标加载器?

那么我还需要继续创建一个ContentProvider,还是有其他方法可以做到这一点?任何建议都会有所帮助!

wsa*_*lle 10

简短的回答是,您可以使用自己的Loader来跳过对Content Provider的需求,并直接与SQLite数据库进行交互.其他人已经完成了实施,其中一个是由CommonsWare完成的,名为LoaderEx.该项目有一个名为SQLiteCursorLoader的类,您可能会发现它很有用.

除了上面GitHub项目提供的示例之外,您还可以使用没有Content Provider的Loaders 查看我的一个测试应用程序(也在GitHub上).


Joh*_*ohn 8

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

正如wsanville所说,你可以滚动自己的Loader,这样它就不需要ContentProvider.