Каковы различия между активностью и фрагментом



согласно моим исследованиям, существует значительная разница в концепции backstack и как они существуют:



деятельность::




  • когда activity расположенный на backstack of activities пользователь
    можно вернуться к предыдущему действию, просто нажав back
    кнопка.


  • Activity может существовать самостоятельно.



фрагмент::




  • когда fragment помещается в действие, которое мы должны запросить
    экземпляр, который будет сохранен путем вызова addToBackstack() во время fragment
    transaction.


  • Fragment должен жить внутри activity



есть ли другие различия ?

895   7  

7 ответов:

Это две совершенно разные вещи:

Activity-это компонент приложения, который предоставляет экран, с которым пользователи могут взаимодействовать, чтобы что-то сделать. Новые подробности: http://developer.android.com/guide/components/activities.html

в то время как фрагмент представляет собой поведение или часть пользовательского интерфейса в действии. http://developer.android.com/guide/components/fragments.html

  1. фрагмент является частью деятельности, которая вносит свой собственный пользовательский интерфейс для этой деятельности. Фрагмент можно рассматривать как суб активности, где как полный экран, с которым взаимодействует пользователь называется деятельностью. Действие может содержать несколько фрагментов. Фрагмент в основном является частью деятельности.

  2. действие может содержать 0 или несколько фрагментов в зависимости от размера экрана. Фрагмент может быть повторно использован в нескольких действиях, поэтому он действует как многоразовый компонент в деятельности.

  3. фрагмент не может существовать самостоятельно. Она всегда должна быть частью деятельности, тогда как деятельность может существовать без какого-либо фрагмента в ней.

согласно документации разработчика android, разница между фрагментом и активностью в их жизненном цикле.

Doc link http://developer.android.com/guide/components/fragments.html#Lifecycle

наиболее существенная разница в жизненном цикле между активностью и фрагментом заключается в том, как он хранится в соответствующем заднем стеке. По умолчанию действие помещается в задний стек действий, управляемых системой при его остановке (чтобы пользователь мог вернуться к нему с помощью кнопки Назад, как описано в разделе задачи и задний стек). Однако фрагмент помещается в задний стек, управляемый действием узла, только когда вы явно запрашиваете сохранение экземпляра путем вызова addToBackStack () во время транзакции, которая удаляет фрагмент.

в противном случае управление жизненным циклом фрагмента очень похоже на управление жизненным циклом действия. Таким образом, те же методы для управления жизненным циклом деятельности также применить к фрагментам. Однако вам также нужно понять, как жизнь деятельности влияет на жизнь фрагмента.

& для нескольких макетов панели вы должны использовать fragment Что вы не можете достичь с activity.

Activity-это пользовательский интерфейс приложения, с помощью которого пользователь может взаимодействовать и Фрагмент является часть деятельности,это подвид деятельности внутри деятельности который имеет свой собственный жизненный цикл, который проходит параллельно жизненному циклу деятельности.

Activity LifeCycle                           Fragment LifeCycle
onCreate()                                    onAttach()
    |                                              |
onStart()______onRestart()                     onCreate()
    |             |                                |
onResume()        |                            onCreateView()
    |             |                                |
onPause()         |                            onActivityCreated()
    |             |                                |
onStop()__________|                             onStart()
    |                                              |
onDestroy()                                     onResume()
                                                   |
                                                onPause()
                                                   |
                                                onStop()
                                                   |
                                                onDestroyView()
                                                   |
                                                onDestroy()
                                                   |
                                                onDetach()

основные различия между Activity и Fragment

  1. Activity-это компонент приложения, который дает пользовательский интерфейс, где пользователь может интерект. Фрагмент является частью деятельности,которая вносит свой собственный пользовательский интерфейс для этого деятельность.
  2. для планшета или если мобильный телефон находится в ландшафте, то с помощью фрагмента мы можем показать два списка, как список onle для показа имя состояния и другой список покажет описание состояния в одной деятельности, но с помощью деятельности мы не можем сделать то же самое вещь.
  3. активность не зависит от фрагмента.но Фрагмент зависит от активности,он не может существовать независимо.
  4. без использования фрагмента в действии мы не можем создать многопанельный пользовательский интерфейс.но используя несколько фрагментов в одном действии, мы можем создать многопанельный пользовательский интерфейс.
  5. если мы создаем проект, используя только деятельность, то его трудно управлять, но если мы используем фрагменты, то структура проекта будет хорошей, и мы можем справиться легко.
  6. мероприятие может содержат 0 или несколько фрагментов. Фрагмент может быть повторно используется в нескольких видах деятельности, таким образом, его действие как многоразовый компонент в деятельности.
  7. деятельность имеет собственный жизненный цикл, но фрагмент имеет там собственный жизненный цикл.
  8. для активности мы должны упомянуть в Манифесте но для фрагмента его нет требуемый.

активность
1. Деятельность является одним из основных строительных блоков приложений на платформе Android. Они служат точкой входа для взаимодействия пользователя с приложением и также имеют центральное значение для того, как пользователь перемещается в приложении или между приложениями
2. Методы жизненного цикла размещаются в ОС.
3. жизненный цикл активности

фрагментов
1. Фрагмент представляет поведение или часть пользовательского интерфейса в Деятельность. Вы можете объединить несколько фрагментов в одном действии, чтобы построить многопанельный пользовательский интерфейс и повторно использовать фрагмент в нескольких действиях. Фрагмент можно рассматривать как модульный раздел действия, который имеет свой собственный жизненный цикл, получает свои собственные входные события и который можно добавлять или удалять во время выполнения действия.
2. Методы жизненного цикла размещаются по размещаются по хостинг активность.
3. жизненный цикл фрагмента

точка входа в Android-приложение является активность. Деятельность представляет собой экран и предоставляет пользователю интерфейс и поведение для обработки входных событий. Запрос в виде намерения отправляется, чтобы начать любую деятельность в приложении, то есть приложения для android имеют несколько точек входа. Система Android считывает конфигурацию о действиях и создает их экземпляры, когда делается запрос на действия. Системные вызовы методов обратного вызова, которые позволяют реализовать определенное поведение в разных точках в жизненном цикле деятельности.

фрагментов С другой стороны, не может быть запущен путем отправки запроса в систему. Они являются частью деятельности. Фрагменты позволяют разбить действие на более мелкие компоненты, чтобы вы могли повторно использовать их, и с помощью фрагментов вы можете реализовать задачу с потоком нескольких подзадач только с одним действием. Фрагмент имеет жизненный цикл, с помощью которого вы можете реализовать поведение, когда фрагмент находится в разных состояниях его жизненный цикл.

Comments

    Ничего не найдено.