数据和数据之间松耦合的最佳实践;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
监视和更新数据,并显示
在列表视图中搜索结果
- 另请参见示例,该示例显示了如何使用
过滤器