gpt4 book ai didi

来自多对多数据库关系的 Android ListView

转载 作者:搜寻专家 更新时间:2023-10-30 20:58:22 24 4
gpt4 key购买 nike

我的 db 2 表中有一个多对多关系。

TAB_ARTICLES:{_ID、标题、正文、日期}

TAB_TAG:{_ID、名称、颜色、日期}

TAB_ART_TAG:{_ID、ARTICLE_ID、TAG_ID}

我需要填充一个 ListView,一行用于文章,在每一行中,我需要为链接到该文章的每个标签都有一个 TextView。喜欢下面的image

我认为有 2 个解决方案。

一个。我使用一个 CursorAdapter 和一个只在 TAB_ARTICLE 上创建的游标,并且在每一行中我都执行查询以加入其他 2 个表以查找与本文相关的所有标签。此解决方案需要大量的数据库访问。

我实现了一个临时表

TABLE_TEMP:{ARTICLE_TITLE、ARTICLE_BODY、ARTICLE_DATE、TAG1_NAME、TAG1_COLOR、TAG2_NAME、TAG2_COLOR...}

我使用此表上的查询作为自定义适配器的游标。由于表格列,此解决方案使用更多空间并且对可能显示的标签有限制。

还有其他方法吗?

最佳答案

嗯,实际上,这是一个多标准的东西:时间、空间、更新、搜索等。所以没有单一的方法。然而,多个查询很可能会导致滚动陷入困境。更糟糕的是,仅在某些设备上。临时表可能有效也可能无效,具体取决于数据的总体大小。您可能希望让这个冗余表与主表保持同步,同时对两者进行更新。

最简单的权衡之一可能是将带有标签数据(XML、JSON、其他标记/分离格式)的冗余 TEXT/CLOB 列添加到 TAB_ARTICLES 并使其与您的详细数据保持同步。顺便说一下,只有当您的查询证实了这一点时,您才真正需要 M:M 模式。否则,单表就足够了。

同样,我会首先列出并评估所有标准,然后确定真正需要扩展的维度并简化其余维度。

关于来自多对多数据库关系的 Android ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13083807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com