Fragment

    [Android] Fragment 커스텀 생성자? FragmentFactory?

    [Android] Fragment 커스텀 생성자? FragmentFactory?

    인자를 전달받는 Fragment 생성자 Fragment를 생성할 때 파라미터를 전달받는 생성자를 이용하여 Fragment를 만들어 본 적이 있는가? 아래 코드와 같은 방식으로 Fragment 정의 시 분명 문제가 있었을 것 이다. 아래 Fragment는 문자열을 생성자의 인자로 전달받는 Fragment이다. class TestFragment constructor ( private val testString:String ): Fragment() { ... } 이러한 방식은 아래와 같은 런타임 예외를 발생 시킬 수 있다. 분명 Fragment의 생성자가 있음에도 불구하고 생성자가 없다는 예외이다. could not find Fragment constructor 런타임 예외가 왜 발생하는가? Fragment ..

    [Android/Testing] #9. Dagger-Hilt 적용하여 프레그먼트 테스트하기

    [Android/Testing] #9. Dagger-Hilt 적용하여 프레그먼트 테스트하기

    프레그먼트는 앱에서 재사용할 수 있는 컨테이너 역할을 하는 컴포넌트로 프레그먼트를 사용하면 다양한 Activity와 Layout 구성에서 일관된 사용자 인터페이스 레이아웃을 사용자에게 더욱 쉽게 제공할 수 있다. 용도가 다양한 프레그먼트를 고려하면 프래그먼트가 일관되고 리소스 효율적인 환경을 제공하는지 검증하는 것이 중요하다. 프레그먼트 테스트 시에는 AndroidX의 'fragment-testing' 라이브러리를 사용하여 테스트를 진행한다. fragment-testing 라이브러리는 프레그먼트 테스트 시 도움을 받을 수 있는 FragmentScenario 클래스를 지원한다. 해당 클래스는 프레그먼트의 생성과 Lifecycle.State 변경을 지원한다. 2022년 11월 15일 기준 fragment-t..