数据和数据之间松耦合的最佳实践;Android中的用户界面-适配器、过滤器、游标加载程序和内容提供程序

数据和数据之间松耦合的最佳实践;Android中的用户界面-适配器、过滤器、游标加载程序和内容提供程序,android,android-sqlite,android-adapter,android-cursorloader,android-loadermanager,Android,Android Sqlite,Android Adapter,Android Cursorloader,Android Loadermanager,假设我们有一个活动,其中nTextViews代表一行注释。这些笔记存储在某个地方(本地数据库、网络等),每次调用onResume(),都会根据存储的数据绘制适当数量的TextViews 现在,假设用户想要删除注释,那么将特定的TextView解析回其存储实体的最佳方法是什么 目前,我知道的唯一方法是使用View.Tag,并使用一些管理器将其转换为数据实体,但它看起来相当混乱 还有其他选择吗?在Android中,适配器充当视图和数据模型之间的桥梁。您可以在列表视图或网格视图中显示n文本视图,当用户

假设我们有一个
活动
,其中
n
TextView
s代表一行注释。这些笔记存储在某个地方(本地数据库、网络等),每次调用
onResume()
,都会根据存储的数据绘制适当数量的
TextView
s

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

目前,我知道的唯一方法是使用
View.Tag
,并使用一些管理器将其转换为数据实体,但它看起来相当混乱


还有其他选择吗?

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

方法:

  • 如果更新本地<代码> SQLite 数据库,可以考虑使用 保存
    视图的数据,因为它直接映射
    将本地数据库添加到
    视图
  • 如果使用
    内容提供者
    ,甚至可以组合 带有 和 : 这些插入到
    活动
    /
    片段
    生命周期和监视器中 发布更改的基础
    ContentProvider
    在单独的线程上自动转到
    视图
  • 也可以使用 与
    适配器
    一起定义一个动态机制 动态排序数据项。过滤由 根据用户输入的查询,在单独的线程上过滤, 可能是在
参考文献:

  • 见 辅导的这里的示例从中检索一组联系人 contacts
    ContentProvider
    基于按字母顺序的动态搜索 用户。它使用
    游标适配器
    游标加载程序
    LoaderManager
    监视和更新数据,并显示 在
    列表视图中搜索结果
  • 另请参见示例,该示例显示了如何使用
    过滤器