프래그먼트는 어떤 동작이나 UI의 일부입니다.
여러개의 프래그먼트를 하나의 액티비티에 결합하여 창이 여러개인 UI를 만들 수 있습니다.
하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있습니다.
프래그먼트는 액티비티의 모듈형 부품이라고 생각하면 됩니다.
프래그먼트는 수명주기를 가지고 있고 입력 이벤트를 수신할 수 있고, 액티비티 실행 중에 추가 및 삭제가 가능합니다.
즉, 다른 액티비티에서 다시 사용할 수 있는 하위 액티비티와 같은 개념입니다.
프래그먼트는 항상 액티비티 내에 속해야하며, 프래그먼트의 수명 주기는 호스트 액티비티의 수명 주기에 영향을 받습니다.
액티비티가 일시정지된 경우, 거기 속한 모든 프래그먼트도 일시정지 되며 액티비티가 소멸되면 모든 프래그먼트도 소멸됩니다.
액티비티가 실행중인 동안에는 각 프래그먼트를 추가, 제거하는 등 개별적으로 조작할 수 있습니다.
이러한 프래그먼트 조작(트랜잭션)을 수행하는 경우 이 것을 액티비티가 관리하는 백 스택에도 추가할 수 있습니다.
각 백 스택 항목이 발생한 프래그먼트 트랜잭션의 기록이 됩니다. 이 백 스택을 사용해 사용자가 프래그먼트 조작(트랜잭션)을 다시 되돌릴 수 있습니다. 이때 뒤로가기 버튼을 누르면 됩니다.
프래그먼트를 액티비티 레이아웃에 추가하면, 해당 프래그먼트는 액티비티의 뷰 계층 내에서 뷰그룹에 들어가고 자체적인 뷰 레이아웃을 정의합니다. (뷰그룹이란 다른 뷰를 포함할 수 있는 뷰입니다. 레이아웃, 컨테이너)
액티비티의 레이아웃 파일에서 <fragment>요소로 프래그먼트를 선언하거나 기존 뷰그룹에 추가하는 방법으로 애플리케이션 코드에서 프래그먼트를 선언하면 액티비티 레이아웃에 프래그먼트를 삽입할 수 있습니다.
수명 주기
'개발 > 안드로이드' 카테고리의 다른 글
[안드로이드] 다른 영역 터치시 키보드 숨기기 (0) | 2020.04.06 |
---|---|
[안드로이드] 데이터 및 파일 저장소 (0) | 2020.02.27 |
[안드로이드] 레이아웃 (0) | 2020.02.23 |
[안드로이드] 뷰모델 - 내 언어로 요약 (0) | 2020.02.12 |
[안드로이드] 가로 세로 고정하기 (0) | 2020.02.03 |