Fragment

매일 수정하는 GNOSS LV5·2021년 8월 17일
1

AndroidStudio

목록 보기
7/83

Fragment는 화면이 커지는 Tablet이 생겨나면서 한 화면에 다양한 레이아웃과 Widget등을 표현하기 위해서 생겨났다.

Fragment는


여러 화면에서 재사용이 가능하다.

자체 생명 주기를 가지고 있다.

동적으로 추가,삭제,교체(FragmentTransaction)가 용이하다.

자체 입력 이벤트를 받는다.

액티비티 실행 중에 추가 및 제거가 가능한 액티비티의 모듈식 섹션이다.

독자적으로 존재할 수 없다.


Activity - Activity 간의 데이터 전달일때 Intent사용

: 데이터 전송, 받기 가능

FragmentLifeCycle



onCreate : 프래그먼트 호출.
onCreateView :레이아웃을 inflation하고, 위젯들이 하는 이벤트 처리를 한다.
onViewCreated :View가 만들어지고 나서 해야하는 일들과 rest처리는 여기서 한다.
onDestroyView :
onDestroy :

액티비티의 일부분을 교체하는 프래그먼트 방식.


매니저를 통해서 트랜잭션을 얻고 액티비티상에서 처리.

메인 XML에 보통 Frame이라는 레이아웃을 사용해서 Fragment를 띄운다.

Fragment Transaction : 추가,삭제,제거,부착 들을 하는것을 통틀어서 .


add,replace,remove순으로 제일 많이 사용한다.

addtobackstack == 프래그먼트에서 backstack으로 이동하는 것. Activity의 onBackPressed() 와 같다.

add : Fragment를 지정된 레이아웃에 추가하는것

replace : 지정된 레이아웃에 설정되어 있는 Fragment대신 새로운 Fragment를 추가하는것


주요 메소드


Fragment가 부착되어있는 액티비티를 오너객체라고한다.

getActivity
getArgument,setArgument : Fragment Transaction을 할 때 번들을 이용해서 처리한다.
getFragmentManager : Fragment Manager를 얻어온다.
startActivity,startActivityForResult : Activity를 구동(동기/비동기)한다.
onActivityResult :


Fragment-Fragment / Fragment - Activity는 Intent사용이 불가능하다.

대신Bundle을 이용한다.

Intent VS Bundle

저장과 전달의 차이.

Intent :
어플내 액티비티 간의 데이터를 전달할 때 사용하는 클래스

Bundle :
키와 밸류.
문자열로 된 키와 여러가지의 타입의 값을 매핑하여 저장하는 Map클래스!

savedInstanceState : Bundle 객체로써 액티비티를 중단할때

메서드를 호출하여 임시적으로 데이터를 저장한다. 즉 종료되기 직전의 데이터를 가지고 있으며 , 데이터를 바탕으로 Activity를 다시 생성한다.

profile
러닝커브를 따라서 등반중입니다.

0개의 댓글