Когда какой конструктор для ComponentName использовать в Android?

Вещи еще не упомянули:

  • Межплатформенное Настольное приложение, даже со сложным набором GUI
  • инструментов
  • статический контроль типов (см. GWT)
  • сообщения об ошибках во время компиляции
  • очень четкие сообщения об ошибках

29
задан Zordid 13 February 2011 в 18:02
поделиться

1 ответ

Конструктор ComponentName, принимающий два String, можно использовать для ссылки на компонент в другом приложении. Но первый аргумент не является именем пакета класса; это имя пакета приложения --- атрибут package элемента manifest в AndroidManifest.xml этого приложения. Итак, ваш первый пример должен быть

ComponentName cn = new ComponentName("de.zordid.sampleapp",
    "de.zordid.sampleapp.widget.WidgetProvider");

. Этот конструктор, безусловно, можно использовать для ссылки на компоненты в вашем собственном приложении, но, поскольку у вас уже есть Context из вашего собственного приложения, вы также можете использовать это и использовать один из других конструкторов. На мой взгляд, тот, кто принимает Class, должен быть предпочтительным, когда это возможно. Вы можете использовать тот, который принимает String, если по какой-то причине вы знаете класс только динамически; в этом случае оно должно принимать полное имя класса, как указано выше.

43
ответ дан 28 November 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: