실무에 바로 적용하는 안드로이드 프로그래밍#7
7장. UI 프래그먼트와 프래그먼트 매니저
프래그먼트는 안드로이드 앱에서 뷰를 담당하는 컴포넌트이다.
Activity와 layout.xml 만으로도 뷰를 구현할 수 있지만,
프래그먼트를 제공하게된 이유는 타블렛 때문이다.
스마트폰의 경우 작은 크기의 디스플레이를 가지는 것이 대부분이어서
메뉴와 컨텐츠를 동시에 담는 뷰를 구성하는 것이 쉽지않지만,
타블렛의 경우는 메뉴와 컨텐츠를 동시에 보여주는게 가능하다.
하지만, 타블렛을 위해서 새로운 Activity를 구현하고 싶은 개발자는 없을 뿐더러,
비효율적이다.
따라서, Fragment라는 것을 사용한다.
Fragment는 재활용이 가능한 뷰이다.
여전히 Activity가 뷰를 구성하고 제어하지만, Activity의 레이아웃 파일에
fragment를 둘 위치를 미리 정해두고, fragmentManager를 통해서
하나 이상의 프래그먼트 리스트를 추가하여 상황에 따라 입맛대로 여러 형태의
프래그먼트를 하나의 Activity에서 동적으로 추가하고 제거할 수 있다.
Fragment는 Activity와 비슷한 생명주기를 가지며,
보통 Activity의 생명주기에 따른 메서드가 실행된 후 프래그먼트의 메서드가 실행된다.
fragmentManager는 프래그먼트의 생명주기를 관리하고, 액티비티와 프래그먼틀의
생명주기를 일치시켜주는 역할을 하며, 액티비티가 소멸될 때 리스트에 보유한 프래그먼트를
저장해 두었다가, 액티비티가 재실행될 때 프래그먼트를 다시 사용할 수 있게 관리한다.