Android Activity 와 Fragment의 차이점
액티비티 : 앱 UI 의 기본
- 정의 : 안드로이드에서 액티비티는 사용자 인터페이스를 가진 단일 화면으로 작동합니다. 앱의 내용이 표시되는 프레임 또는 창과 같습니다. 각 액티비티는 독립적이며 , 사용자가 할 수 있는 한 가지 완전한 "작업" 을 대표합니다.
-
- 생명주기 : 액티비티는 잘 정의된 생명주기를 가집니다. 주요 생명주기 메서드로는
onCreate()
, onStart()
, onResume()
, onPause()
, onStop()
, onDestroy()
등이 있습니다. 이러한 생명주기 이벤트를 관리하는 것은 부드러운 사용자 경험과 자원 관리에 필수적입니다.
-
- 사용법 : 액티비티는 로그인 페이지나 설정 화면과 같이 상대적으로 독립적인 성격의 작업에 사용됩니다. 앱의 다른 부분과 상호 작용하기 위한 진입점 입니다.
-
- 레이아웃 : 각 액티비티는 보통 XML 파일에서 레이아웃을 인플레이트하여 버튼 , 텍스트뷰 등의 UI 구성 요소를 정의합니다.
프레그먼트 : 재사용 가능한 UI 구성 요소
-
- 정의 : 프래그먼트는 액티비티 내의 사용자 인터페이스 또는 동작의 일부를 나타냅니다. 액티비티의 모듈식 섹션처럼 생각하면 됩니다. 이는 자체 생명주기를 가지며 , 자체 입력 이벤트를 받고 , 액티비티가 실행되는 동안 추가되거나 제거될 수 있습니다.
-
- 생명주기 : 프래그먼트도 생명주기를 가지지만 , 이는 호스트 액티비티의 생명주기와 밀접하게 연결되어 있습니다. 프래그먼트 생명주기 이벤트로는
onAttach()
, onCreate()
, onCreateView()
, onActivityCreated()
, onStart()
, onResume()
, onPause()
, onStop()
, onDestroyView()
, onDestroy()
, onDetach()
등이 있습니다.
-
- 사용법 : 프래그먼트는 재사용 가능하고 동적인 UI 구성 요소를 만드는 데 사용됩니다. 특히 , 태블릿과 휴대폰과 같이 다양한 화면 크기와 방향에 대해 적응적인 UI를 디자인 하는 데 유용합니다.
-
- 액티비티와의 상호작용 : 프래그먼트는 액티비티 내에 포함되어 있으며 , 부모 액티비티와의 상호작용을 통해 작동합니다. 프래그먼트는 액티비티로부터 데이터를 받거나 , 액티비티에 이벤트를 전달할 수 있습니다. 이러한 구조는 앱의 다양한 부분 간에 유연한 데이터 교환과 상호작용을 가능하게 합니다. 또한 , 한 액티비티가 여러 프래그먼트를 관리할 수 있으며 , 프래그먼트를 교체하거나 다른 프래그먼트와의 상호작용을 통해 다이나믹한 사용자 경험을 제공할 수 있습니다.
주요 차이점 :
-
모듈성 : 프래그먼트는 보다 모듈화되고 재사용 가능하며 , 여러 액티비티에서 나타나는 UI 구성 요소에 이상적입니다.
-
생명 주기 : 액티비티는 여러 프래그먼트를 호스트할 수 있으며 독립적인 존재지만 , 프래그먼트는 일반적으로 자신이 속한 액티비티에 의존적입니다.
-
UI 디자인의 유연성 : 프래그먼트는 복잡한 UI 디자인에 더 많은 유연성을 제공합니다. 특히 , 태블릿과 같은 대형 화면 레이아웃에서 여러 프래그먼트를 한 화면에 동시에 표시할 수 있습니다.
액티비티와 프래그먼트의 차이를 이해하는 것은 안드로이드 개발의 기본입니다. 액티비티는 앱의 다양한 섹션 또는 "화면" 을 제시하는 주요 방법이며 , 프래그먼트는 정교한 사용자 인터페이스를 만드는 데 있어 동적이고 재사용 가능한 방법을 제공합니다. 두 가지를 효과적으로 활용함으로써 , 더 유연하고 확장 가능하며 유지 관리가 용이한 안드로이드 애플리케이션을 만들 수 있습니다.