버그 잡이

Fragment 왜 쓰는가? #frgment 탄생배경 #fragment 적용사례 본문

안드로이드/4대 구성요소

Fragment 왜 쓰는가? #frgment 탄생배경 #fragment 적용사례

버그잡이 2020. 3. 24. 10:48

안드로이드의 5번째 구성요소로 인정받고 있는 Fragment.

 

어떻게 탄생하게 되었는지, 어떻게 사용되고 있는지 알아보겠다.

 

 

 

 

1. Fragment 탄생 배경

 

- 과거 단말기의 화면이 작았을때는 view를 담을 수 있는 공간이 제한되었기 때문에 Activity만으로 view들을 표현하기에 충분했다.

- 하지만 태블릿이 등장하면서 Activity만으로는 화면을 다양하게 구성하기 힘들어졌다.

   *초기에는 Activity를 중첩하여 넣었지만 생명주기나 여러 구조적인 문제들로 다루기 힘들었다.

 

- 그래서 등장한 것이 Fragment. 

 

 

 

 

2. Fragment란?

 

- 생명 주기, 레이아웃, 입력 이벤트를 가지는 액티비티의 모듈식 섹션

- 구글에서는 액티비티에 재사용할 수 있는 "하위 액티비티"라고도 말하였다.

 

 

 

 

3. 특징

 

- 액티비티를 분할하여 화면의 한 부분을 정의한다.

- 레이아웃, 동작처리, 생명주기를 가지는 독립적인 모듈이다.

- 액티비티 실행중에 추가, 제거가 가능하다.

 

 

 

 

 

4. 생명주기

 

- 기본적으로 activity의 생명주기를 모두 가지고 있고 여기에 몇가지가 더 추가된다.

 

onAttach() : fragment가 activity에 붙은 단계

 

onCreate()

- activity가 생성되는 단계

- 여기서 activity의 요소들을 참조하게 된다면 에러가 발생할 수 있다.

 

onCreatView()

- fragment의 view들이 생성되는 단계

 

onActivityCreated()

- 액티비티 생성이 완료된 단계

- 액티비티를 참조, 데이터를 전송하는 등의 동작은 여기서 처리해야한다.

   예제)https://www.youtube.com/watch?v=5TcBpnRLlZQ&list=PLQdnHjXZyYafR57vhXjmw2h3YEl0dM0zC&index=21

 

 

 

 

 

 

 

5. Fragment는 어디에서 쓰이는가?

 

  1) 태블릿 화면에서의 dual panel

      - http://thetechnocafe.com/how-to-make-two-pane-layout-in-android/

 

How to make two pane layout in Android - TheTechnoCafe

In this tutorial you will learn how to make make a two pane layout in Android and thus making your application responsive in design.

thetechnocafe.com

 

 

  2)  자연스러운 화면 전환

     - activity를 활용해 화면 전환을 해도 되지만 activity가 사라지고 생성되는 짧은 시간의 부자연스러움이 있다.

     - fragment를 땠다 붙였다 하면 더욱 자연스러운 화면 전환 효과를 가져올 수 있다.

     - ex) Tab layout + fragment / bottom navigaton + fragment   

 

 

 

(참고 블로그)

https://tedrepository.tistory.com/5

https://recipes4dev.tistory.com/58

반응형
Comments