Questions tagged «android-loadermanager»

6
LoaderManager中的initLoader和restartLoader之间的区别
我对initLoader和restartLoader功能之间的差异完全迷失了LoaderManager: 它们都具有相同的签名。 restartLoader 如果不存在加载程序,还将创建一个加载程序(“在此管理器中启动新的或重新启动现有的加载程序”)。 两种方法之间有关系吗?打电话restartLoader总是打initLoader吗?我可以打电话restartLoader而不必打电话initLoader吗?拨打initLoader两次刷新数据是否安全?什么时候应该使用两者之一,为什么?

4
AsyncTaskLoader与AsyncTask
由于Honeycomb和v4 Compatibility Library可以使用AsyncTaskLoader。据我了解,这些AsyncTaskLoader可以通过屏幕翻转等配置更改来生存。 是否建议使用AsyncTaskLoader代替AsyncTask?是否LoaderManager得到照片吗? 但是我还没有找到任何有关如何正确使用的好示例AsyncTaskLoader。该文档也未提供任何示例。谁能提供一些很好的例子。

3
具有多个加载程序的LoaderManager:如何获取正确的cursorloader
对我来说,如果有多个加载程序,则不清楚如何获得正确的光标。假设您定义了两个不同的Loader: getLoaderManager().initLoader(0,null,this); getLoaderManager().initLoader(1,null,this); 然后在onCreateLoader()中,根据ID做不同的事情: @Override public Loader<Cursor> onCreateLoader(int id, Bundle arg1) { if (id==0){ CursorLoader loader = new CursorLoader(getActivity(), MaterialContentProvider.CONTENT_URI,null,null,null,null); }else{ CursorLoader loader = new CursorLoader(getActivity(), CustomerContentProvider.CONTENT_URI,null,null,null,null); }; return loader; } 到目前为止,一切都很好。但是如何在onLoadFinished()中获得正确的光标,因为您没有任何ID来为正确的Cursoradapter识别正确的Cursor。 @Override public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) { mycursoradapter1.swapCursor(cursor); if(isResumed()){ setListShown(true); }else { setListShownNoAnimation(true); } } //and where …

5
没有ContentProvider的CursorLoader用法
Android SDK文档说该startManagingCursor()方法已被弃用: 不建议使用此方法。而是将新的CursorLoader类与LoaderManager一起使用;在旧版平台上,也可以通过Android兼容性软件包获得此功能。此方法使活动可以根据活动的生命周期来为您管理给定的Cursor生命周期。也就是说,当活动停止时,它将自动在给定的Cursor上调用deactivate(),而在稍后重新启动时,它将为您调用requery()。活动销毁后,所有托管游标将自动关闭。如果您的目标是HONEYCOMB或更高版本,请考虑改用LoaderManager(可通过getLoaderManager()获得) 所以我想用CursorLoader。但是,当我在的构造函数中需要URI时,如何在有自定义CursorAdapter和不存在的情况下使用它?ContentProviderCursorLoader

2
对SQLiteDatabase使用Singleton设计模式
我是Android上的新手,并且我正在开发一个简单的应用程序,以获得一些基本的经验。我的应用程序非常简单,包括广播接收器和一些活动。这两个组件都使用单个数据库,因此从理论上讲,这两个组件都可能尝试同时访问数据库。 目前,我只是在每次需要时实例化db对象(这是一个SQLite db helper类),并执行所需的操作:查询,插入等。 从我在这里和其他一些文档中已读过的内容来看,如果并发访问数据库,则会遇到“数据库锁定”异常的问题,因此更好的方法是使用该数据库对象的单个实例,以便所有组件始终使用相同的数据库连接。 以上推理正确吗?那么单身人士将是一个很好的解决方案吗?我知道有些纯粹主义者可能会反对它,但是请注意,这是一个相当简单的应用程序,因此我可以负担其他情况下无法做到的事情。 否则,更好的选择是什么?我已经读过有关使用内容提供程序的信息,但是这样做除了我不想与其他活动共享数据外,对它来说已经太多了。我确实已经阅读了这篇文章,并发现它很有帮助。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.