如果我确实需要它,我将不得不修改大约15个类(模型和模型管理器类),所以我真的想知道我是否需要 ContentProvider
。
我在这里:
与 Twitter 类似,我从服务器获取数据行,并在用户没有Internet连接的情况下将其保存在本地。但理想的方法是始终从服务器获取它。
我可能不要使用SimpleCursorAdapter
,因为我从服务器获取的数据行包含网址,这意味着我必须创建一个自定义适配器来显示图像。
我需要异步地将数据加载到ListViews
,因为我的ViewPager
有3 Fragments
,显示相同的数据(因此,由于ViewPager
将3 Fragments
加载到内存中,这意味着正在执行3个查询(这很可能是导致非平滑滑动的原因)。
到目前为止,我在App和服务器之间同步数据的方式是:
Fragment.onStart()
执行AsyncTask
,返回格式为JSON
数据的数据行AsycTask.onPostExecute()
更新List<E>
并致电Adapter.notifyDataSetChanged()
这里的问题是,每次更改标签时,都会调用onStart()
,执行AsyncTask
会导致用户界面不顺畅。
我应该更改与服务器同步数据的方式,还是应该使用ContentProvider
?
编辑:作为抬头,我问的原因是startManagingCursor()
方法被删除了。它说要使用Loader
框架,但它似乎只能通过ContentProvider
答案 0 :(得分:0)
如果您不打算,则不需要开发自己的提供商 与其他应用程序共享您的数据。但是,你确实需要自己的 提供商在您自己的应用程序中提供自定义搜索建议 如果要复制和粘贴复杂,还需要自己的提供程序 从您的应用程序到其他应用程序的数据或文件。
来自http://developer.android.com/guide/topics/providers/content-providers.html
答案 1 :(得分:0)
我根据支持库中的CursorLoader
源代码编写了自定义SimpleCursorLoader
。您可以搜索此站点以获取有关编写自定义站点的更多信息。