SimpleCursorAdapter使用以下注释弃用其构造函数之一:
已过时.不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行Cursor查询,从而导致响应能力较差甚至应用程序无响应错误.作为替代方案,使用android.app.LoaderManager和android.content.CursorLoader.
这是否会使整个班级弃用?不推荐使用其他(标准)构造函数.
这里说它SimpleCursorAdapter的API级别1构造函数已被弃用,建议使用LoaderManager和CursorLoader.
但是深入研究LoaderManager和CursorLoader使用我发现这个例子里面的内部类扩展了一个ListFragment(我认为是Fragment本身的扩展),我们创建了一个CursorLoader.一切似乎确定,不同的是,其实CursorLoader需要一个Uri作为参数.所以这意味着我需要创建一个ContentProvider访问我的数据库的权限.
我必须承认,为了创建一个简单的ListView来自数据库的项目,我们必须完成所有这些操作才能看起来有点过分.特别是如果我不打算将我的数据库数据提供给其他应用程序,并且内容提供商的主要目的是这样做.
那真的值得吗?
特别是在像我这样的情况下,要获取的内容可能会很小.我认真考虑用旧方式做,你怎么说?
sqlite android uri android-contentprovider android-loadermanager