Какая связь между ContentProvider и AppWidgetProvider

Я пытаюсь изучить виджет списка с помощью примера WeatherListWidget от Google. В любом другом месте, где я искал информацию о виджете, они использовали AppWidgetProvider, но в этом примере они использовали ContentProvider. Я проверил, может быть, один наследует другой, так что это имеет смысл, но это не так. Я вижу в манифесте, что ContentProvider использует тег, а AppWidgetProvider использует тег, потому что они наследуются от разных вещей.

Итак, не могли бы вы просто попытаться помочь мне понять, что делает виджет виджетом. Так разве виджету не нужен класс, расширяющий AppWidgetProvider?

Надеюсь, я ясно выразился в своем вопросе... Спасибо.


person HowToBoy    schedule 04.07.2013    source источник


Ответы (1)


Они никак не связаны. Оба называются «Поставщиками», но они предоставляют разные вещи.

Виджеты приложений всегда реализуются классом, который расширяет AppWidgetProvider. Прочитайте об этом классе здесь.

Контент-провайдеры делают что-то совершенно другое. Цитата из официальной документации:

Поставщики контента управляют доступом к структурированному набору данных.

В примере WeatherListWidget используются оба, но каждый делает что-то отличается: WeatherDataProvider — это ContentProvider, который предоставляет данные о погоде, а WeatherWidgetProvider — это AppWidgetProvider, который определяет сам виджет:

введите здесь описание изображения

person Jong    schedule 04.07.2013
comment
ха-ха... нашел... я не одобряю костюм, чтобы поместить более одного класса в файл... :) я пропустил класс, который расширяет appwidgetprovider... вы очень помогли. еще нужно понять, что они все делают и как, но в списке на этот вопрос есть ответ! Спасибо! - person HowToBoy; 06.07.2013
comment
Со временем вы поймете. Пока хорошо, что твоя проблема ушла. - person Jong; 07.07.2013