Главная » Разработка для Android » Объявление строк описания столбцов в Android приложении

0

Столбцы поставщика содержимого SimpleFinchVideoProvider определяются в классе FinchVideo.SimpleVideos, рассматриваемом в этом разделе. Каждый поставщик содержимого должен определять столбец _id, в котором будет содержаться порядковый номер каждой строки. Значение каждого _id должно быть уникальным в рамках поставщика содержимого. Клиент будет прикреплять этот номер к URI записи типа vnd.android.cursor.item при попытке запросить отдельно взятую запись.

Когда поставщик содержимого опирается при работе на базу данных SQLite, как в случае с SimpleFinchVideoProvider, столбец _id должен иметь тип INTEGER PRIMARY KEY AUTO INCREMENT. Таким образом, все строки будут иметь уникальные номера _id, и эти _id не будут использоваться многократно, даже в случае удаления строк. Так можно поддерживать целостность ссылочных данных (referential integrity), поскольку мы гарантируем, что каждая новая строка получает іd, не использовавшийся ранее. Если Jid строк могут применяться многократно, существует вероятность того, что кэшированные URI будут указывать на неверные данные.

Ниже приведен полный программный листинг API простого поставщика содержимого (видео), используемого в программе Finch, – класс FinchVideo. SimpleVideos.

Обратите внимание на то, что мы включили в код только те константы, которые служат для достижения целей, описанных выше. Здесь мы не занимаемся определением констант реализации поставщика содержимого, поскольку они не несут никакой пользы для клиента и могут «завязать» клиента на использование конкретной реализации поставщика содержимого. Мы стремимся хорошо спроектировать программу и гарантировать, что ее уровни будут хорошо отделяться друг от друга там, где клиенты не должны иметь непосредственных компиляционных зависимостей от классов реализации поставщика содержимого. Полный листинг общедоступного АРІ для API поставщика видео для программы Finch приведен ниже:

Рассмотрим пояснения к коду.

Мы используем VIDEOSJJRI для определения значения CONTENTJJRI. Уникальный идентификатор видеофайлов содержит URI этого содержимого в описанном выше виде.

Это МIМЕ-тип записей видео, которые будет хранить наш поставщик содержимого. В подразделе «Реализация метода getType» далее мы расскажем, как наш поставщик содержимого использует этот тип.

Это названия столбцов, которыми клиенты могут пользоваться для доступа к значениям, содержащимся в объектах Cursor, создаваемых нашим поставщиком.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии