如何在Sync Adapter中编写我们自己的查询?

时间:2016-02-13 07:09:58

标签: android android-contentprovider android-syncadapter

我需要使用Sync Adapter我们需要使用ContentProvider作为强制性部分。

  • 在这里,我必须根据自己的要求编写自己的查询。
  • 如何写作
  • 如何将值从Sync Adapter传递给活动,反之亦然。

我该怎么做?我找不到任何有效的工作模型我对这个Sync Adapter概念感到困惑。

1 个答案:

答案 0 :(得分:1)

您不一定需要内容提供商来获取应用中的数据。它只是推荐。您可以创建存根内容提供程序来欺骗同步适配器并在其所有查询方法中返回null。有关详细信息,请参阅this。您可以直接访问同步适配器中的共享首选项或sqlite数据库并进行查询。

至于将值从同步适配器传递到Activity时,这根本不可取,因为同步适配器的目的是在后台同步您的数据,即使您的应用程序在后台无法运行。因此,想象一下,您尝试将值从同步适配器传递给活动,但您的应用程序甚至不运行,然后它会导致异常,因为活动甚至没有被创建。

解决方案 - 维护应用程序的本地sqlite数据库或SharedPreference(如果数据很小),并通过同步适配器保持数据库中的数据同步。每当您在活动中需要这些数据时,您只需从本地数据库中获取此数据,因为它将通过同步适配器自动定期更新。