何时使用CursorJoiner/MatrixCursor/MergeCursor?

CL2*_*L22 37 android matrixcursor mergecursor

我正在探索从两个或多个连接表中优雅地获取数据的不同方法.

我相信MergeCursor,(Android开发人员指南)似乎暗示可以(例如)SQL UNION通过连接两个查询(或单独添加视图作为行等)来替换等价物- 所以,不是我想要的.

但我不知道究竟是什么CursorJoiner,MatrixCursor是为了什么,或者如何使用它们.我看了他们的来源(和往常一样)对我来说没什么意义!我发现它们在使用中的例子没有清楚地解释产生的效果是什么.我真的很感激它们的良好描述,以及它们可能被使用的背景.

Com*_*are 72

MergeCursor,如您所示,旨在"垂直"连接两个数据集,添加更多行.

CursorJoiner旨在"水平"连接两个数据集,添加更多列.您可以将此视为类似于实现简单SQL JOIN.

MatrixCursor允许您构建一些Cursor用纯数据实现接口的东西,然后将其转换为二维数据模型.

AbstractCursor允许您在Cursor界面中包装自己的自定义数据集,覆盖必要的方法.

  • @Jodes:"如果你有一个不在数据库中的数据集合,并且你想为它创建一个游标,MatrixCursor很有用." [Android Advanced Cursors](http://chariotsolutions.com/blog/post/android-advanced-cursors/) (3认同)