1

我在本地 Sqlite 数据库中有一对多的关系。很基本的东西。当我进行左外连接时,我得到的结果如下所示:

生成的游标有多个如下所示的行:

A1.id | A1.column1 | A1.column2 | B1.a_id_fk | B1.column1 | B1.column2 

A1.id | A1.column1 | A1.column2 | B2.a_id_fk | B2.column1 | B2.column2 

等等...

是否有处理此类结果的标准做法或方法?显然只有 A1,但它有许多 Bn 关系。我即将使用多个查询而不是“关系数据库方式”。希望我只是不知道做事的更好方法。

我打算通过内容提供者公开这个查询,我讨厌所有的消费者都必须编写相同的聚合逻辑。

4

1 回答 1

2

在我曾经使用过的每个 SQL 数据库中,连接都是以这种方式工作的——这有点像是概念的定义。

请记住,内容提供者涉及远程过程调用,这很昂贵。这就是为什么 Android 将结果与您加入联系人等内容的方式相同的原因之一,以尽量减少进程之间的往返。

您可以考虑使用远程服务而不是内容提供者,并公开自定义 API。List<>您可以通过简单的.返回给定 A 的 B。或者,您可以将整个内容序列化为 JSON 格式。或任何其他可能性,如果数据重复打扰您。

于 2010-06-02T17:12:29.020 回答