当前位置: 首页 > 知识库问答 >
问题:

数据之间松耦合的最佳实践

羊舌高峰
2023-03-14

假设我们有一个带有nTextViews的活动表示一行注释。这些笔记存储在某个地方(本地数据库、网络等),每次调用onResume()时,都会根据存储的数据绘制正确数量的TextViews。

现在,假设用户想要删除注释,解析特定 TextView 返回到其存储实体的最佳方式是什么?

目前,我知道的唯一方法是使用< code >视图。标签,并有一些管理器将它转换成数据实体,但它看起来相当混乱。

还有其他选择吗?

共有1个答案

勾渝
2023-03-14

在Android中,适配器充当视图和数据模型之间的桥梁。您可以在<code>列表视图</code>或<code>网格视图</code>中显示n<code>文本视图</code>并且当用户添加或删除注释时,首先更新本地或服务器数据库。在完成web服务调用和/或本地数据库更新后,新数据将添加到基础适配器。然后通过调用适配器.notifyDataSetChanged()刷新视图。这就是解决问题的方法。

方法

  • 如果更新本地SQLite数据库,您可以考虑使用CursorAdpater来保存View的数据,因为它直接将本地数据库中的条目映射到View
  • 如果使用ContentProvider,甚至可以将CursorAdapterLoaderManagerCursorLoader相结合:这些插入活动/片段生命周期并监控底层ContentProvider以获取自动发布到单独线程上的View的更改。
  • 也可以将FilterAdapter结合使用来定义动态机制,对数据条目进行动态排序。过滤由Filter在单独的线程上执行,根据用户输入的查询,可能在AutoCompleteTextView中。

参考文献:

    < li >请参见检索联系人列表教程。此处的示例基于用户按字母顺序进行的动态搜索,从contacts < code > content provider 中检索一组联系人。它利用< code>CursorAdapter 、< code>CursorLoader和< code>LoaderManager来监控和更新数据,并在< code>ListView中显示搜索结果。 < li >另请参见使用过滤器类的Android实时(即时)搜索示例,该示例显示了如何使用< code >过滤器。 < li >具有自定义适配器过滤的Android AutoCompleteTextView。 < li >使用ArrayAdapter和过滤器的Android AutocompleteTextView。
 类似资料:
  • 有人能帮我吗,我读了一些Java紧耦合和松耦合的文章。我看了好几段YouTube视频和文章,对松散耦合有一定的怀疑,但仍然无法理解某些要点。我会解释我所理解的和让我困惑的。 在松散耦合中,我们限制类之间的直接耦合。但在紧密耦合中,我们注定要去上课。让我们举个例子。我有一个主类和另一个名为Apple的不同类。我在Main类中创建了这个类的一个实例 让我们看看松耦合 如果我将松散耦合中的方法签名从“喝

  • 本文阐述了使用 TiDB Data Migration(以下简称 DM)对分库分表进行合并迁移的场景中,DM 相关功能的支持和限制,旨在给出一个业务的最佳实践(使用默认的“悲观协调”模式)。 独立的数据迁移任务 在分库分表合并迁移的实现原理部分,我们介绍了 sharding group 的概念,简单来说可以理解为需要合并到下游同一个表的所有上游表即组成一个 sharding group。 当前的

  • 假设我有两个服务班:

  • 在一次技术采访中,我被问及项目的凝聚力和耦合性。我详细解释了它们的定义,尽管我没有像他说的那样正确回答问题的第二部分。 “我们如何在一个项目中同时实现高度内聚和松散耦合的设计,请解释这种方法应该如何在一个整体项目中实现?” 我回答说这两个目标是矛盾的,所以我们需要找出每个项目或模块的最佳选择,但我无法提供全面的答案。 如果有人能帮我,我将不胜感激。

  • 有没有人知道Docker中容器之间共享数据库的最佳实践是什么? 我的意思是我想在Docker中创建多个容器。然后,这些容器将以相同的身份在相同的数据库上执行CRUD。 到目前为止,我有两个想法。一种是创建一个单独的容器来运行数据库。另一种方法是直接在安装Docker的主机上安装数据库。