[Android] Activity vs Fragment

nbh·2023년 10월 10일

🤷 {Activity랑 Fragment는 도대체 뭐가 다른가요?)

안드로이드 어플에서 화면을 구성하는 요소로 크게 ActivityFragment를 꼽을 수 있다. 동일한 폴더에 .xml 파일로 뷰를 구성하는 점이 동일해, 언제 어느 것을 사용해야하는지 헷갈리는 경우가 있다.

이번 글에서는

  • Activity와 Fragment란 무엇이고
  • 어떤 관계가 있으며
  • 어느 때 무엇을 사용해야 하는지

정리한다.

Activity란

사용자가 직접 보고 입력하는 화면!

공식문서
https://developer.android.com/guide/components/activities/intro-activities

Activity란 안드로이드 어플을 구성하는 중요한 요소로, 여러 프로그램들이 main()함수로 프로그램을 시작하는 것처럼, 안드로이드는 Activity 인스턴스를 호출하여 시스템을 시작한다.

Activity는 앱이 사용자에게 보여줄 UI를 그리는 것을 담당하기도 한다. 대체로 화면에 꽉 차게 생성되지만, 화면보다 작게 만들어 다른 창 위에 띄울 수도 있다.

Fragment란

액티비티를 나누는 조각!

공식 문서
https://developer.android.com/guide/fragments

하나의 어플을 다양한 화면 비율에 대응하게 만든다고 생각해보자. constraint Layout을 사용해 제약조건을 정의하는 것 만으로는 한계가 있다. 그렇다고 화면을 구성하는 모든 View를 비율에 맞춰 다시 디자인하고 작성하는 건 너무너무 끔찍하지 않은가?! (나는 그런데...)

모듈화!

이 때, UI를 쪼개고 모듈화해서, 각 비율에 알맞은 화면으로 구성할 수 있도록 하는 것이 Fragment이다.
위의 사진은 Fragment(초록색)를 이용해서 list를 탭 비율에서는 grid list로, 스마트폰 비율에서는 linear list로 보여주는 예시이다.

😧 하지만 실제로는?!

실제로는 이렇게 태블릿 환경에 대응할 때 보다는,

  • 탭이나 스와이프로 화면 전환을 할 때 미리 만들어놓은 Fragment를 전환하거나
  • 한 화면에 여러개의 섹션을 모듈화하고 한번에 나타낼 때

사용된다.

0개의 댓글