Tengo una aplicación simple de Notes que es similar en funcionalidad a la muestra de Android NotePad. Una adición es que cada nota puede tener etiquetas. Un Note
puede tener varios Tag
sy Tag
pueden pertenecer a varios Note
s, lo que hace que esta relación sea de muchos a muchos.Proveedor de contenido de Android y relación DB de muchos a muchos
He completado el diseño de la base de datos utilizando claves externas y una tabla de asignación. Ahora, deseo que mi aplicación se conecte a Android Search Framework, que necesita el uso de un ContentProvider
para exponer mis datos.
¿Hay alguna práctica recomendada para este escenario? Encontré algunas preguntas relacionadas en SO, pero la mayoría de ellas trataban con relaciones uno a muchos (this one por ejemplo). Concluí de estas preguntas que es mejor tener un solo ContentProvider
por base de datos, y luego utilizar el concepto de Matcher para resolver múltiples tablas dentro del DB. Eso todavía deja abiertas otras preguntas.
dado un
Note ID
, me gustaría devolver todas las etiquetas asociadas a dicha nota. ¿Cómo hago para configurar elContentUri
para este caso? Ni"content://myexample/note/#"
ni"content://myexample/tag/#"
cumplirían el propósito.Ninguno de los 6
ContentProvider
métodos que anulo se adaptaría a tal propósito, ¿verdad? Por supuesto, puedo introducir un nuevo método, pero los consumidores de miContentProvider
no lo entenderían.
Gracias de antemano por sus sugerencias.
Gracias por la pista sobre '" contenido: // myexample/note/tag/# "'. Estoy aceptando esto como una respuesta, ya que me ha ayudado en mi camino. – curioustechizen