본문 바로가기

안드로이드/이론7

[안드로이드] Context # Context란? Context는 직역하면 애플리케이션의 현재 상태의 맥락(context)입니다. 객체가 현재 어떤 일이 일어나고 있는지에 대한 정보를 제공하는 인터페이스입니다. 안드로이드에서 Context는 리소스를 가져오거나 View와 관련된 작업을 별도의 클래스나 함수로 분리하기 위해 파라미터로 Context로 넘기는 등 애플리케이션 내에서 매우 광범위하게 사용됩니다. 광범위하게 사용된다는 것은 라이프 사이클을 고려해야 된다는 것과 이어질 수 있는데, Context는 잘못 사용하면 애플리케이션의 메모리 누수를 발생시킬 수 있으므로 매우 주의해야 합니다. # Context 종류 Application Context : 애플리케이션과 생명 주기가 연결되어 있는 싱글톤 인스턴스로, getApplicat.. 2023. 8. 7.
FragmentManager FragmentManager란? FragmentManager는 Fragment의 추가, 제거, 교체하고 백 스택에 추가하는 등과 같은 트랜잭션을 관리하는 클래스입니다. FragmentManager를 사용하면 Fragment의 라이프 사이클을 다루고, 백스택을 활용해 사용자의 이전 상태로 복귀하는 등의 작업을 수행할 수 있습니다. FragmentManager에 접근하기 FragmentManager는 모든 FragmentActivity와 그 subclass(AppCompatActivity)에서 getSupportFragment() 메서드를 통해 접근할 수 있습니다.액티비티가 아닌 프래그먼트에서도 FragmentManager에 접근하여 부모 컴포넌트(액티비티 또는 프래그먼트)나 자식 컴포넌트를 관리할 수 있습.. 2023. 7. 31.
DialogFragment와 BottomSheetDialogFragment 안드로이드에서 다이얼로그는 사용자에게 다양한 상황에서 메시지를 표시하거나, 선택을 요청하는 등의 역할을 하는데 사용되는데, 이 글에서는 DialogFragment와 BottomSheetDialogFragment에 대해서 알아보겠습니다. DialogFragment DialogFragment는 다이얼로그를 보여주기 위해 설계된 Fragment의 하위 클래스입니다. DialogFragment를 사용하면 FragmentManager가 다이얼로그의 상태를 관리하고 구성이 변경됐을 때 자동으로 복원할 수 있습니다. DialogFragment를 구현하기 위해서는 DialogFragment를 확장하는 클래스를 생성하고, onCreateDialog()를 오버라이드 해야 합니다. class DialogFragment : .. 2023. 7. 24.
[안드로이드] Activity & Fragment Lifecycle Lifecycle (생명주기) 안드로이드에서 Lifecycle은 Lifecycle을 갖는 컴포넌트(액티비티, 프래그먼트)가 처음으로 생성되고, 사용되고, 소멸되는 과정을 의미한다. Lifecycle은 컴포넌트의 상태 변화를 나타내고, 액티비티와 프래그먼트는 각 단계별로 Lifecycle를 거치면서 관리된다. 안드로이드에서는 액티비티와 프래그먼트의 Lifecycle단계들을 콜백 메서드로 정의하고 있다. 우리가 개발을 할 때는 이러한 콜백 메서드들을 재정의하여 사용한다. 음.. 재정의라는 말이 어려워보일 수 있지만 그냥 콜백 메서드안에 코드들을 써서 활용한다는 뜻이다. Activity Lifecycle onCreate Activity가 생성되면 가장 먼저 호출됨 생명주기 통틀어서 단 한 번만 수행되는 메서드.. 2023. 7. 10.