Android应用程序的标记架构

Soh*_*ham 5 sqlite schema android

我正在Android应用程序中实现标签,需要以下指针:

  • 用户可配置的多标签设置的模式设计
  • 如何优化模式以进行搜索,过滤和简化.

请注意,我已经看过一些专注于更大型服务器部署的设计,我正在寻找一些简单的东西,适用于移动(SQLITE)环境中的单个表.

首先想到的是,我正在考虑使用字符分隔的varchar来表示相关的标签,例如#work#meeting#monthly.有没有更好的设计方法呢?

小智 1

如果您使用这种方法,您将在搜索和过滤方面遇到问题,请使用一个表格来存储数据,使用另一个表格来存储标签。

您可以使用第三个表来给出数据和标签之间的关系,但它速度慢且效率低。

现在,为了获得搜索和过滤的最佳性能,请使用标签表中指向数据表的指针列表,这样,如果按标签过滤,您将获得 O(1) 复杂度。问题是你会慢慢地获得与数据相关的标签。您可以反过来做同样的事情,并将标签列表与您的数据绑定在一起,但是您将需要做很多工作来保持其有效,因为您必须在更新时更新标签和数据。

最后,请记住 nr_of_tags << nr_of_data 您应该仅使用与标签绑定的数据指针,如果您想显示与数据相关的标签,那么您可以解析该标签表并进行搜索。

编辑:刚才我看到您只想使用一张桌子。