ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [android] 안드로이드 플래그먼트 생명주기
    안드로이드 2020. 3. 19. 12:25

    플래그먼트 (Fragment)?

    영어 단어로는 파편이라는 의미 이며 화면이 비교적 큰 태블릿의 등장으로 만들어졌으며 액티비티의 일부분에만 배치되는 화면 및 동작을 조작하기 위한 객체 입니다.

    Fragment란 하나의 Activity가 여러 개의 분할된 화면을 가지도록 만들기 위해 고안된 개념입니다.

    액티비티 위에서 프래그먼트 매니저에 의해 화면이 전환 되기 때문에 매우 가벼운 장점이 있습니다.

    다른 Activity에서도 재사용할 수 있다는 장점이 있다. 또한 전체 화면인 Activity에서 부분 화면을 만드는 데 주로 사용된다.

     

     

     

    플래그먼트 (Fragment) 생명주기 Lifecycle

     

     

    onAttach ( ) : 플래그먼트가 액티비티에 붙을 때 호출

    onCreate ( ) :

    onCreateView ( ) : Layout을 inflater 하여 View 작업

    onActivityCreated ( ) : 액티비티에서 플래그먼트를 모두 생성하고 난 다음 호출

    onStart ( ) : 플래그먼트가 사용자에게 보여지기 직전에 호출된다.

    onResume ( ) : 플래그먼트가 화면에 보여지고 사용자와 상호작용 하기 직전에 호출된다.

    플래그먼트 작동

    onPause ( ) : 새로운 플래그먼트 이동 시  호출

    onStop ( ) : 플래그먼트가 화면에 더 이상 보이지 않을 때 호출

    onDestoryView ( ) :

    onDestory ( ) : 플래그먼트가 소멸되기 전에 호출

    onDetach ( ) : 플래그먼트가 액티비티와 연결이 완전히 끊기기 직전 호출

     

    Activity 와 Fragment 차이

    액티비티는 독립적으로 존재 가능하며 프래그먼트는 액티비티의 한 부분으로 있어야 한다.

     

    Activity 와 Fragment 통신

    프래그먼트에서 액티비티와 통신을 하려면 getActivity() 를 호출하면 액티비티 객체를 사용할 수 있으며 프래그먼트에서 발생하는 이벤트는 onAttach() 에서 interfactionListener 를 호출하고 액티비티에서 이것을 구현함으로써 이벤트에 대한 처리와 프래그먼트간 통신이 가능합니다.

     

    플래그먼트 왜 써야 하는가?

    분리된 Activity 간에는 데이터를 전달하는 것이 어렵습니다. 일반적으로 인텐트에 데이터를 담아 사용해야 하는데 이 경우에는 정해진 클래스만 쓸 수 있고 담을 수 있는 용량에도 제한적입니다. 그러나 Fragment 쓰면 해결 할 수 있습니다. Fragment의 하나의 Activity의 컨텍스트 안에 있으므로 데이터를 쉽게 공유 가능합니다.

     

    UI가 구성이 항상됩니다. 탭과 드롭다운 리스트를 이용한 화면 전환 구성이 쉽습니다.

     

     

    댓글

Designed by Tistory.