1

我是android开发的新手,所以我想就解决下一个问题征求意见。

我有 2 个 SQlite 表:cardsmeanings. 每张卡片都有一个或几个含义。我的 android 应用程序应该显示具有实际含义的卡片列表。我应该实现下一个操作:

  • 添加具有含义的新卡片
  • 为现有卡片添加含义
  • 读卡的含义,更新,删除

据我了解,最好的实现方式是为卡片和含义制作 2 个内容提供者。然后我想构建一个类来封装卡片的功能并将卡片放入某种适配器中。然后将适配器绑定到某种列表视图。

我不确定这种方式是最佳的,这就是为什么任何关于更好的方法的建议都会受到高度赞赏。

4

1 回答 1

0

既然一张卡片可以有多个含义,那么您应该使用第三个表,我们称之为 CardMeanings,它有两列。卡片的唯一 ID,以及含义的唯一 ID。此表的每一行代表一张卡片和一种含义的独特组合。

Card      Meaning
  1          1
  1          3
  1          4
  2          7
  3          3
  3          4

然后使用单个适配器通过关系的逻辑视图和仅对适配器可用的低级方法来管理此表,以保持完整性。例如,如果您删除了一张卡片,会发生什么?通常,您会删除 CardMeanings 表中具有给定卡 ID 的卡和所有行,但让单个适配器执行此操作并管理所有三个表。

关键是适配器的全部意义在于将物理视图(3 个表)转换为逻辑视图(卡片及其含义)。您的活动代码应该只处理逻辑视图,而您的适配器应该是唯一处理物理视图的东西。

于 2012-11-22T22:13:06.073 回答