2014-03-28 100 views
0

如果确实需要它,我将不得不修改大约15个类(模型和模型管理器类),所以我真的想知道我是否需要 a ContentProvider我真的需要使用ContentProvider吗?

这里就是我:

  1. 类似Twitter的,我碰到一个服务器的数据行,并且如果在本地保存它,用户没有互联网连接。但理想的方式是始终从服务器获取它。

  2. 我大概打算使用SimpleCursorAdapter,因为数据的我从服务器获得的行包括网址,这意味着我必须创建一个自定义适配器来显示图像。

  3. 我需要将数据加载到所述ListViews异步因为我具有,显示了相同数据(不同的过滤器寿),因此,由于负载到存储器中,这意味着3个查询正在执行(这很可能是不顺畅滑动的原因)。

到目前为止,我同步应用程序和服务器之间的数据的方法是:

  • Fragment.onStart()执行的AsyncTask返回格式化为JSON数据
  • 数据行说AsycTask.onPostExecute()更新List<E>并致电Adapter.notifyDataSetChanged()

这里的问题是th在每次更改制表符时,将调用onStart(),如果执行AsyncTask,则会导致UI不平滑。

我应该改变与服务器同步数据的方式,还是应该使用ContentProvider

编辑:作为一个头,我要问的原因是startManagingCursor()方法是depraated。它说,使用Loader框架,但现在看来,这是唯一可以通过ContentProvider

回答

0

我写了基于自带支持库中的SimpleCursorLoader源代码自定义CursorLoader。您可以搜索本网站以获取更多关于编写自定义网站的信息。

0

你不需要开发自己的供应商,如果你不与其他应用程序打算 共享您的数据。但是,您确实需要您自己的 提供程序才能在自己的应用程序中提供自定义搜索建议。 如果您想要将复杂的 数据或文件从应用程序复制并粘贴到其他应用程序,则还需要您自己的提供商。

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

+0

是的,但大多数框架类只有在使用内容提供者时才可用。对不起,我没有要求复制粘贴我已多次阅读的文本块 –