【发布时间】:2014-12-18 18:46:07
【问题描述】:
我的 sqlite android 数据库中有 3 个表:
ToolTable
---------
_id
serialNumber
TorqueRange._id
TorqueRangeTable
----------------
_id
min
max
TorqueUnit._id
TorqueUnitTable
---------------
id
name
toNmFactor
我需要使用 CursorAdapter 来显示工具的 ListView,但似乎我有多种选择来公开数据:
- 使用我的 ContentProvider 返回一个包含我需要的所有列的游标:_id、serialNumber、minTorque、maxTorque、torqueUnitName
- 仅返回 ToolTable 列,然后在每个行视图中发出新请求以通过 is id 获取 TorqueRange: _id,serialNumber,TorqueRange._id 和 TorqueRangeTextView 之后获取 _id,min,max,TorqueUnit._id
完成此任务的最佳方法是什么? 加入似乎很容易,但之后我的 ContentProvider 会返回很多我每次都不需要的列。 在自定义组件视图中发出请求更尊重数据库的结构,但我不知道发出大量请求是否是个好主意。
谢谢你的灯
【问题讨论】:
-
我会选择第一个选项,虽然我不完全理解您对该选项的问题,但您始终可以在每次使用
ContentProvider时设置投影列,这样您就不会得到不需要的列.第二个选项较慢,因为您需要执行多个查询(这些查询并不是很快)。
标签: android android-listview android-contentprovider android-cursor