У меня есть простое приложение Notes, которое по функциям аналогично образцу Android NotePad. Одно дополнение - каждая заметка может иметь теги. Заметка
может иметь несколько тегов
, а тег
может принадлежать нескольким Note
, что делает это число-ко-многим
Я завершил проект БД, используя внешние ключи и таблицу сопоставления. Теперь я хочу, чтобы мое приложение подключалось к платформе поиска Android, что требует использования ContentProvider
для предоставления моих данных.
Есть ли какие-либо передовые методы, которым следует следовать в этом сценарии? Я нашел несколько связанных вопросов по SO, но большинство из них касалось отношений «один ко многим» ( этот , например). Из этих вопросов я пришел к выводу, что лучше всего иметь один ContentProvider
для каждой БД, а затем использовать концепцию Matcher для разрешения нескольких таблиц в БД. Это по-прежнему оставляет другие вопросы открытыми.
Учитывая ID заметки
, я хотел бы вернуть все теги, связанные с этой заметкой. Как мне настроить ContentUri
для такого случая? Ни один из "content: // myexample / note / #"
и "content: // myexample / tag / #"
не будет служить цели.
Ни один из 6 Методы ContentProvider
, которые я отменяю, подойдут для такой цели, не так ли? Я, конечно, могу представить новый метод, но это не будет понятно потребителям моего ContentProvider
.
Заранее благодарим за ваши предложения.