Cuándo utilizar CursorJoiner / MatrixCursor / MergeCursor?

Estoy explorando diferentes maneras de obtener datos elegantemente de dos o más tablas unidas.

Creo que MergeCursor , ( Android Developer Guide ) parece implicar que podría (por ejemplo) reemplazar un SQL UNION equivalente al concatenar dos consultas (o agregar vistas individualmente como filas, etc) – por lo tanto, no lo que quiero.

Pero estoy en una pérdida en cuanto a lo que exactamente CursorJoiner y MatrixCursor son para, o cómo usarlos. He mirado la fuente para ellos y (como de costumbre) no significa nada para mí! Los ejemplos que he encontrado de ellos en uso no explican claramente cuál fue el efecto resultante. Realmente agradecería una buena descripción de ellos, y el contexto en el que podrían ser utilizados.

    MergeCursor , como usted indica, está diseñado para concatenar dos conjuntos de datos "vertical", agregando más filas.

    CursorJoiner está diseñado para concatenar dos conjuntos de datos "horizontalmente", agregando más columnas. Se puede pensar en esto como similar a la implementación de un simple SQL JOIN .

    MatrixCursor permite construir algo que implemente la interfaz Cursor fuera de datos puros, que se vierte en un modelo de datos bidimensional.

    AbstractCursor permite envolver su propio conjunto de datos personalizados en una interfaz Cursor , sobrescribiendo los métodos que sean necesarios.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.