Met*_*aft 2 android cursor android-3.0-honeycomb
我一直在使用Froyo(我的手机版)开发手机应用程序.我想转而在项目中加入Honeycomb.
我已将Android兼容包导入到我的项目中.我当前的应用程序从SQLite数据库中读取.从所述数据库加载图库和各种GridView和ListView.我不知道接下来该做什么.我是否将活动切换到FragmentActivities?如何从我当前的游标转到CursorLoaders?这对我加载图库和网格/列表视图的自定义适配器有何影响?等等...
我很感激你能给予的任何帮助和建议.我很难掌握如何转换我拥有的东西并允许两者共存.我真的想以"正确的方式"做到这一点.
编辑:我意识到这是一个相当广泛的"问题".所以,让我们专注于Cursor to CursorLoader的事情.我会为其他项目创建新问题.
使用兼容性库,我使用了CursorLoader和Fragments目标2.1.
如果你有一个ContentProvider支持它们,装载程序很容易,Fragments需要使用FragmentActivity(也许是LoaderCursors).
然而,加载器确实需要LoaderManager.LoaderCallbacks接口.
装载机有一个生命周期,我手边没有代码,但就像这样.
LoaderManager.InitLoader(USER_SPECIFIED_ID_OF_LOADER);
Run Code Online (Sandbox Code Playgroud)
----最终调用--->
Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getActivity(), baseUri,
CONTACTS_SUMMARY_PROJECTION, select, null,
Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
}
Run Code Online (Sandbox Code Playgroud)
这是你的Loader完成其加载器的事情,我只在我的代码中使用CursorLoader,所以我不知道更多关于gritty细节.
加载器完成后,将调用最终的回调.
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
//Do whatever you want with your cursor here.
}
Run Code Online (Sandbox Code Playgroud)
也就是说,他们工作得很好,按照预期完成工作,两个大拇指.
*编辑:还有一个onLoaderRestarted()可能会在您重新启动加载程序时被调用,而不确定它何时被调用.
| 归档时间: |
|
| 查看次数: |
5970 次 |
| 最近记录: |