0

У меня большой опыт работы с Java и C#, но я новичок в Android. В основном я использую C#, потому что я влюблен в иерархию Control. Мне нравится плагин к онтологии. Я пытаюсь понять онтологию в этой новой парадигме, и мне, возможно, дали ложную информацию.Android: Виджет, AppWidget, Фрагмент, Активность и приложение - В чем разница?

Что касается приложений, это должен быть самый большой компонент. В приложении может быть несколько видов деятельности. Активность может отображать несколько фрагментов. AppWidgets - это особый случай, поскольку они существуют как компонент приложения, но показаны сами по себе. И мне сказали, что вы можете продлить кнопки или ProgressBar, чтобы создать свои собственные компоненты, которые снова называются Widgets.

Как я уже сказал, у меня может быть это совершенно неправильно. В идеале я хотел бы создать свои собственные виджеты, которые я могу наложить на Фрагмент, AppWidget или Activity; любой из которых я мог бы составить в приложении. Все онлайн-источники, которые я нашел, обсуждают только Виджет в смысле AppWidget? Была ли я дана некорректная информация? Может ли кто-нибудь уточнить онтологию? Thanks

+0

@ Кто-то-проголосовал-мой-вопрос. Просто любопытно, почему. Я довольно новый, зарабатываю репутацию на этом сайте, и я хотел бы понять лучше. На данный момент, похоже, нет другого вопроса о качестве. Я искал онлайн-документацию, и смешение между виджетами и AppWidget делает невозможным синтаксический анализ. Можете ли вы прокомментировать, почему нисходящий? – BSD

+1

Я проголосовал за тебя только потому, что в твоем вопросе я не видел ничего плохого. Мы продвигаемся вперед, задавая вопросы и получая знания от других. Не все рождаются с огромными знаниями. К сожалению, то, что я видел на форуме, есть, есть несколько групп людей, которые ненавидят чтение и понимание основной проблемы и помогают сообществу. Они берут простой маршрут вниз по голосу и удаляют ваш вопрос или изменяют весь ваш вопрос и т. Д. Вместо этого. Это просто неудачно для нас, кто ищет решение для странной ситуации ... – Vincy

+0

@ Vincy Ну, я ценю помощь. Я просматриваю голосование вверх/вниз, и я понимаю, что это было горячо обсуждено сообществом мета. Со своей стороны, если бы была какая-то конкретная критика вопроса, я был бы рад ответить на него. Если вопрос должен быть существенно улучшен, я сделаю это. Но поскольку нисходящие не идентифицированы, это не позволяет найти, адресовать и переоценить вопросы. Длинный ответ. Спасибо, – BSD

ответ

2

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

Пользовательский вид - это почти все, что расширяет класс View (или любой из его подклассов) и не является частью фреймворка. Пользовательские представления могут использоваться везде, где ожидаются типичные представления. в файлах макетов или непосредственно построены на Java. Одно замечание: в AppWidget можно использовать только определенные виды, потому что они работают в другом процессе за пределами вашего приложения. Это означает, что ваши пользовательские представления не могут использоваться в AppWidgets. По моему опыту, это не слишком важно.


приложение: приложение. Содержит компоненты, которые определены в манифесте в теге <application>.

Активность: Один из четырех компонентов приложения. Почти всегда имеет ассоциированный пользовательский интерфейс, состоящий из иерархии View s.

Фрагмент: Класс рамки, который помогает модулизовать код приложения и пользовательский интерфейс. Фрагменты могут быть присоединены к Activity и могут вносить некоторый пользовательский интерфейс в иерархию View Activity. Они совершенно необязательны; вам не нужно использовать фрагменты в вашем приложении, и вы можете прикрепить фрагмент, не внося свой вклад в действие.

Просмотр: компонент пользовательского интерфейса, такие как текст (TextView) или изображения (ImageView). Они также называются «виджетами», и вы можете заметить, что классы Framework находятся в пакете android.widget. Некоторые представления содержат другие представления, поэтому вы можете создать иерархию пользовательского интерфейса; они будут распространяться на ViewGroup и называются «группами просмотра» или «макетами» более или менее взаимозаменяемыми.

AppWidget: Что-то пользователь может добавить к своему рабочему экрану. Это предоставляется приложением, но не является одним из четырех компонентов приложения, упомянутых ранее (управляется компонентом приложения, а именно специальным подклассом BroadcastReceiver).Большинство людей в разговорной речи ссылаются на них как на «виджетов», потому что говорить короче говоря, и пусковые установки также используют эту терминологию, тем самым создавая для этого пользователей.

+0

Я считаю неправильно? У нас есть «четыре компонента приложения», AppWidget «не является одним из 4-х компонентов приложения», и я считаю три других типа (Activity, Fragment, View). Я пропустил один? – BSD

+0

@BSD Четыре компонента приложения - те, которые могут отображаться внутри тега '' в вашем манифесте. Это Activity (''), Service (''), BroadcastReceiver ('') и ContentProvider (''). Фрагмент и представление не являются прикладными компонентами, они используются для составления пользовательского интерфейса и логики для Activity. – Karakuri

+0

Отлично. благодаря – BSD

Смежные вопросы