Estoy explorando diferentes maneras de obtener datos elegantemente de dos o más tablas unidas.Cuándo usar CursorJoiner/MatrixCursor/MergeCursor?
Creo MergeCursor
, (Android Developer Guide) parece dar a entender que podría (por ejemplo) reemplazar un equivalente SQL UNION
mediante la concatenación de dos consultas (o la adición de puntos de vista individual como filas, etc) - es así, no lo que yo quiero.
Pero no sé qué es exactamente CursorJoiner
y MatrixCursor
, o cómo usarlos. He buscado su fuente y (como de costumbre) ¡no significa nada para mí! Los ejemplos que encontré de ellos en uso no explicaron claramente cuál fue el efecto resultante. Realmente apreciaría una buena descripción de ellos, y el contexto en el que podrían usarse.
Gracias, ahora estoy claro en MergeCursor y CursorJoiner. Todavía estoy algo desconcertado sobre MatrixCursor. Tal vez debería leer sobre la extensión de AbstractCursor. – Jodes
@Jodes: "MatrixCursor es útil si tiene una colección de datos que no está en la base de datos y desea crear un cursor para ella". [Android Advanced Cursors] (http://chariotsolutions.com/blog/post/android-advanced-cursors/) –
Respuesta extremadamente útil. El punto interesante aquí es que 'CursorJoiner' no es un objeto' Cursor', por lo tanto es (casi) completamente inútil porque si quieres acceder a los datos unidos como en un 'Cursor' necesitas crear manualmente un' MatrixCursor' de (sin utilidad u otros métodos disponibles para hacer esta tarea por cierto). – bonnyz