在 Android 中实现内部列表的最佳实践



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

我有 2 个 SQlite 表:cardsmeanings 。每张卡片都有一个或多个含义。我的安卓应用程序应该显示具有实际含义的卡片列表。我应该意识到下一个操作:

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

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

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

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

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

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

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