Android CONTENT TYPE - vnd.android.cursor.dir стандартная константа, определенная андроидом?
У меня есть основная проблема понимания типов контента.
Я просмотрел множество примеров и текст, объясняющий вышеприведенный термин, но все же имею некоторые основные проблемы понимания. Может ли кто-нибудь прояснить меня, пожалуйста.
В примере блокнота android и многих других упоминается vnd.android.cursor.dir/разрешает список элементов в каталоге и vnd.android.cursor.item/относится к определенному элементу в каталоге.
Является ли это vnd.android.cursor.dir некоторой стандартной константой, определенной андроидом. Откуда это взялось?, или я могу изменить его, как
vn.com.android.myexample.dir/
Как это разрешено и какова его цель, почему бы не использовать полный CONTENT_URI?
Извините, я полностью потерял и не понимаю этого.
Ответы
Ответ 1
Типы MIME, возвращаемые ContentProvider.getType, имеют две отдельные части:
type/subType
Типовая часть указывает известный тип, который возвращается для данного URI ContentProvider, поскольку методы запроса могут возвращать только Cursors, тип должен всегда быть:
-
vnd.android.cursor.dir
, если вы ожидаете, что курсор будет содержать
0 до бесконечности
или
-
vnd.android.cursor.item
, если вы ожидаете, что курсор будет содержать
1 элемент
Часть subType может быть либо хорошо известным подтипом, либо чем-то уникальным для вашего приложения.
Поэтому при использовании ContentProvider вы можете настроить вторую часть субтипа типа MIME, но не первую часть. например допустимый тип MIME для ваших приложений ContentProvider может быть:
vnd.android.cursor.dir/vnd.myexample.whatever
Тип MIME, возвращаемый из ContentProvider, может быть использован с помощью намерения, чтобы определить, какую активность запускать для обработки данных, полученных из заданного URI.
Ответ 2
Откуда это взялось?, или я могу изменить его, как vn.com.android.myexample.dir/
Нет, потому что "vnd" означает поставщика в деревьях регистрации MIME, в этом случае андроид.