如何灵活设计自定义ContentProvider

时间:2014-03-17 12:50:09

标签: android android-contentprovider

我对自定义ContentProvider实现的设计有疑问。 Web上的大多数示例都假设背景中有一个SQLite数据库,但在我们的案例中并不一定如此。事实上,我们还不知道数据的来源是什么,因为这些数据是由第三方供应商提供的。

目前,我们的内部虚拟ContentProvider实现(用于测试目的)实现了返回ContentProvider#query(...)对象的Cursor方法。但是,这可能不适合第三方供应商,因为他们很可能拥有非关系/非类似SQL的数据。我们努力以这样的方式设置接口/系统,使其尽可能灵活,这样,无论数据如何存储在另一端(第三方供应商的终端),我们的代码只需要一旦明确如何通过ContentProvider提供数据,就可以进行最低限度的调整。

我现在想要你的意见是:

  • ContentProvider#query(...)是否是正确的方法,即Cursor是非关系/非数据库相关数据的适当返回类型?如果是这样,那就意味着我们的第三方供应商必须相应地实施Cursor接口?

  • 我认为另一种方法是使用MatrixCursor。它仍然会返回Cursor引用,但该行中的行&#39}矩阵'可以是Object类型。这会留下相当大的灵活性。

我很想听听你对此的看法和意见。我可能完全监督了一些事情。

0 个答案:

没有答案