불로구

안드로이드 스튜디오 - Fragment<프레그먼트> ( 개념편 ) 본문

프로그래밍/코틀린 안드로이드

안드로이드 스튜디오 - Fragment<프레그먼트> ( 개념편 )

맹이맹이 2021. 4. 12. 01:27
반응형

프레그먼트란?

- 하나의 Activity에 스스로 모든 것을 표현하기는 힘들다

- 하나의 액티비티에 여러 개의 화면을 가지도록 만들기 위한 개념

- 즉, 하나의 Activity에서 프래그먼트를 통해 역할(화면)을 분할하는 것 

- 프래그먼트는 Activity에 종속적이며 라이프 사이클이 존재한다.

 

프래그먼트의 생명주기

 

1. OnAttach()

- 프래그먼트가 Activity에 attach될 때 호출

- 인자로 context가 주어지며, 부모 액티비티에서 리스터 인터페이스를 상속받으면 형 변환을 통해 가져올 수 있다.

 

2. OnCreate()

- UI를 제외한 리소스들을 초기화

- 일반적인 OnCreate()

 

3. OnCreateView()

- 레이아웃들을 inflate하며, view객체를 얻을 수 있다.

- 일반적으로 Activity에서는 OnCreate()에서 Button, Text들을 초기화했지만, 프래그먼트는 OnCreateView()에서 초기화

 

4. OnActivityCreated()

- 프래그먼트에서 OnCreateVeiw를 마친 후 Activity의 OnCreate()가 호출 후 호출되는 메서드

- Activity와 Fragment의 뷰가 모두 생성된 상태이므로 View를 변경하는 작업이 가능

 

5. OnStart()

- 사용자에게 Fragment가 보여지도록 한다.

 

6. OnResume()

- 사용자와 상호작용 하는 부분

 

7. OnPause(), OnStop()

- 프래그먼트의 부모 액티비티가 아닌, 다른 액티비티가 포그라운드로 나오게 되면 OnPause()

- 다른 액티비티에 의해 화면을 완전히 가리게 되면 OnStop()

 

8. OnDestoryView()

- 프래그먼트와 관련된 View 제거

 

9. OnDestory()

- OnDestoryView에서 View를 제거 후 호출

 

10. OnDetach()

- 프래그먼트가 액티비티로부터 해제

 

 

프래그먼트를 적용한 Activity 실행 로그 화면

( F가 붙은 것은 프래그먼트 , 붙지 않느것은 Activity )

2021-04-12 02:01:48.942 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onAttach
2021-04-12 02:01:48.942 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onCreate
2021-04-12 02:01:48.942 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onCreateView
2021-04-12 02:01:48.944 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onViewCreated
2021-04-12 02:01:48.944 6939-6939/com.example.aop_part2.fragment D/life_Cycle: onCreate
2021-04-12 02:01:48.947 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onActivityCreated
2021-04-12 02:01:48.948 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onStart
2021-04-12 02:01:48.948 6939-6939/com.example.aop_part2.fragment D/life_Cycle: onStart
2021-04-12 02:01:48.949 6939-6939/com.example.aop_part2.fragment D/life_Cycle: onResume
2021-04-12 02:01:48.949 6939-6939/com.example.aop_part2.fragment D/life_Cycle: F onResume

 

반응형
Comments