1. 배경

태블릿 화면 같은 넓은 화면을 효율적으로 이용하기 위해 Fragment가 탄생했다. 

예를 들어 설정화면에 각 옵션을 터치했을 때 옵션에 대한 상세화면이 나오는 화면 구성이라면, Activity를 사용했을 때는 각각의 옵션을 선택했을 때 화면 전환이 필요하지만 Fragment를 사용한다면 화면 전환이 없이 한 화면에서 또 다른 화면을 볼 수 있다.


2. 액티비티 일부

Fragment란 조각이란 뜻이다. Fragment는 Activity보다 작은 조각 화면이며 Fragment의 집합이 Activity라 할 수 있다.

하나의 Activity를 분할하여 여러 개의 Fragment를 이용해 화면을 정의할 수 있다.

액티비티 위에 올라가도록 되어 있기 때문에 액티비티가 시스템 역할을 하게 되고, 액티비티보다 가볍게 화면 구성을 할 수 있다.

Fragment는 하나의 Activity의 컨텍스트 안에 있으므로 데이터를 쉽게 공유할 수 있다.

그러나 레이아웃에 고려해야 될 점이 늘어나 코드가 복잡해지는 단점이 있다.


3. 재사용성

다양한 Activity에서 재사용이 가능하고 하나의 Activity에 여러 개의 Fragment를 가질 수 있다.

실행 중에도 추가, 제거, 교체가 가능하기 때문에 동적이고 유연한 화면을 만들 수 있다.

예를 들어 탭이나 스왑 형식의 화면 구성일 때, Fragment를 사용하면 각 탭마다 다른 Fragment를 사용할 수 있어 동일한 Fragment를 재사용할 수 있다.


4. 독립성

Fragment는 자신만의 레이아웃과 Life cycle을 가지는 뷰 객체이기 때문에, Activity 화면 안에 부분 화면을 독립적으로 사용할 수 있다.

Activity가 하나의 XML 레이아웃과 자바 소스파일로 동작하는 것처럼, Fragment도 하나의 XML 레이아웃과 자바 소스파일로 동작한다.


5. 생명주기

프래그먼트 생명주기: http://qlyh8.tistory.com/61?category=726548

프래그먼트 | Android Developers: https://developer.android.com/guide/components/fragments?hl=ko




참고 출처: https://m.blog.naver.com/jaejae1988/60210259603

'Android' 카테고리의 다른 글

Context (컨텍스트)  (0) 2018.07.20
ANR (Application Not Responding)  (0) 2018.07.17
바로가기 메뉴 (NavigationDrawer)  (0) 2018.07.11
뷰페이저 (ViewPager)  (0) 2018.07.10
탭 (Tab)  (0) 2018.07.05

+ Recent posts