안드로이드 프래그먼트 - 1

2020. 7. 12. 14:54공부 정리/안드로이드

액티비티는 하나의 화면을 구성할 때 필요한 여러 가지 속성들을 사용하며 안드로이드 시스템에서 관리하는 애플리케이션 구성 요소이므로 액티비티 안에 액티비티를 넣는 것은 단말의 리소스를 많이 사용하는 비효율적인 방법이 됩니다. 그래서 프래그먼트라는 해결법을 생각합니다.

 

프래그먼트

1. 액티비티를 본떠 만든 것이라 액티비티가 동작하는 방식과 아주 유사합니다.

액티비티 위에 올라가도록 만들었기 때문에 액티비티가 시스템 역할을 하게 되고 액티비티보다 훨씬 가볍게 화면 구성을 할 수 있다는 장점이 있습니다. 또한 프래그먼트를 위한 XML 레이아웃과 프래그먼트를 위한 소스 파일이 한 쌍으로 만들어지고 이 프래그먼트 객체를 필요할 때 액티비티에 사용할 수 있기 때문에 독립적으로 사용할 수 있게 됩니다.

 

<좌> 액티비티 <우> 프래그먼트

2. 프래그먼트에도 액티비티처럼 수명주기(Life Cycle)가 있습니다.

상태에 따라 자동으로 호출되는 수명주기 메서드가 있는데 대부분의 수명주기 메서드는 액티비티와 유사합니다.

 

 

3. onAttach와 onDetach 메소드가 있다는 점입니다.

프래그먼트는 액티비티 위에 올라갔을 때 비로소 프래그먼트로서 동작할 수 있기 때문에 액티비티 위에 올라갈 때 onAttach, 액티비티에서 내려올 때 onDetach 메서드를 자동으로 호출해줌으로써 그 시점을 알 수 있도록 해 줍니다.

 

액티비티 안에서 프래그먼트 전환

출처

Do it! 안드로이드 앱 프로그래밍
국내도서
저자 : 정재곤
출판 : 이지스퍼블리싱 2017.02.21
상세보기