Интерфейс BaseColumns
предоставляет имена для наиболее распространенных столбцов _ID
и _COUNT
.
Использование общих имен позволяет платформе Android (и разработчикам) обращаться к ним.любой элемент данных, независимо от его общей структуры (т. е. других столбцов без идентификатора) в единой форме.Определение констант для часто используемых строк в интерфейсе / классе позволяет избежать повторений и опечаток во всем коде.
Использование столбца с именем _id
(постоянное значение BaseColumns._ID
) требуется для CursorAdapter
, реализации ContentProvider
и других мест, где вы передаете Cursor
платформе Android, чтобы сделать что-то для вас.Например, адаптер ListView
использует столбец _ID
, чтобы дать вам уникальный идентификатор элемента списка, щелкнувшего в OnItemClickListener.onItemClick()
, без необходимости явно указывать, какой столбец идентификатора каждыйвремя.
Реализовать или нет интерфейсы , состоящие только из констант, или ссылку на их полное имя, т. е. BaseColumns._ID
- дело вкуса.Я лично предпочитаю второе, потому что более очевидно, откуда исходит _ID
, а первое похоже на злоупотребление наследством.