CursorLoader,获取本地数据库的URI

use*_*358 14 sqlite android uri android-cursorloader

我是一个新手Android程序员,我最近跟着一个教程,该教程展示了如何创建一个本地SQLite数据库,然后使用SQLiteDatabase.rawQuery来返回一个Cursor来访问数据库.我想修改我的应用程序以使用CursorLoader,这显然是访问数据库的更好方法.我的问题是CursorLoader构造函数需要给出一个URI.我只输入"file:/// [db to path]"?似乎有点凌乱.

Jul*_*rez 8

游标加载器接受URI的原因是它希望查询contentProvider而不是原始数据库.

因此,我建议您创建一个内部使用数据库的内容提供程序,以便您可以直接使用CursorLoader类.

使用内容提供程序的优点是它可以更好地封装您的数据,并且您可以直接从android轻松利用很多api.

以下是有关如何创建内容提供商的一些指南

http://developer.android.com/guide/topics/providers/content-provider-creating.html

http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/

如果您选择不创建ContentProvider,则可以直接扩展AsyncTaskLoader或游标加载器以按您希望的方式查询数据.