Да, вам нужно реализовать его с помощью ContentProvider, если вы хотите реализовать поиск.
Вы можете использовать существующего поставщика контента для получения тегов, связанных с заметкой.
вы можете определить другуюURL говорят в форме «content: // myexample / note / tag / #», чтобы получить все теги, связанные с конкретным узлом.
Вам потребуется добавить еще один URI, который должен соответствовать в вашем сопоставителе URI.скажем что-то вроде GET_NOTE_TAGS = 3;
В методе getType вашего ContentProvider верните соответствующий тип MIME.Я предполагаю, что это будет то же самое, что и тип mime для тегов, так как вы возвращаете те же теги.
Затем в ваших методах query / update / delete / insert проанализируйте входящий URI, чтобы сопоставить его с "содержание: // myexample / примечание / теги / #».Затем соответствующим образом внедрите свой запрос в вашей базе данных или в вашем контенте и верните теги, которые вам нужно вернуть.
Схема "content: // myexample / note / tag / #" является лишь примером, и вы можете использоватьнесколько URI в одном ContentProvider.
Вы также заявили, что должны объединять таблицы.это можно сделать с помощью db.query, и, если оно усложняется, вы можете использовать rawqueries, чтобы получать необходимые данные из базы данных.