【发布时间】:2014-09-21 13:28:34
【问题描述】:
在我们的应用中,我们有 5 个表,它们是使用 ContentProvider 从 REST 服务更新的。
-照片
-状态
-喜欢
-cmets
-用户
我们为所有与数据库相关的调用使用 ContentProvider,并且我们希望使用 ListView 实现类似 Activity 的提要,该 ListView 具有扩展 CursorAdapter 的适配器。
我们的提要应该显示照片或状态,而对于它必须显示的每张照片/状态项:
- 项目的创建者用户名
- 商品的点赞数
- 物品的厘米数
我们正在考虑使用视图来实现它
CREATE VIEW event_feed AS
select * from (
select "Photo" as type, p.*, u.*,
(select count(*) from comments where subjectId = p.id) comment_count,
(select count(*) from likes where subjectId = p.id) like_count
from photos p inner join users u on p.creatorId = u.id
union
select "Status" as type, s.*, u.*,
(select count(*) from comments where subjectId = s.id) comment_count,
(select count(*) from likes where subjectId = s.id) like_count
from statuses s inner join users u on s.creatorId = u.id
)
order by createdAt desc
创建后,我们将使用 ContentProvider 查询视图以获取光标
问题
- 性能方面,有更好的方法吗?
- CursorJoiner 会更好吗?
【问题讨论】:
标签: android android-sqlite android-contentprovider android-cursoradapter