본문 바로가기

안드로이드/개념정리

(3)
[Compose] SideEffect SideEffect란Composable 범위 밖에서 발생하는 state 변경을 말하며, 이것을 예측 가능한 방식으로 제어하기 위해 Compose에서 제공하는 SideEffect Api를 사용합니다.Compose의 상태는 UI 갱신의 기준으로 사용되며 상태 관리를 잘못해서 무분별하게 UI 갱신이 이뤄질 경우 앱의 성능이 떨어질 수 있기 때문 입니다. 기본적으로 Composable은 바깥쪽에서 안쪽, 단방향으로 state를 전달한다.또 다수의 Composable을 겹쳐서 사용하는데 각 Composable 마다 Lifecycle이 별도로 가지고 있다 하지만 안쪽에서 바깥쪽 state를 변경해야 하거나, Coposable이 아닌 곳의 state를 변경해야 하는 경우가 생기는데 이를 SideEffect라  칭하며..
[AOS] Kotlin 확장 함수 자바에서 기존에 생성되어 있는 클래스에 새로운 매소드를 추가하려면 해당 클래스를 상속해서 사용하는 방법밖에 없지만 코틀린은 확장 함수를 사용해 상속없이 가능합니다. 예를 들어 Long타입의 현재 시간을 '2021.10'과 같이 변경해야할때 아래처럼 Utils 클래스의 메소드를 만들어 재사용하곤합니다. class Utils{ fun convertCalendarDate(tme: Long, format: String): String{ return SimpleDateFormat(format).format(Date(tme)) } } 확장 함수로 구현했을 경우 아래처럼 바뀝니다. fun Long.convertStrDate(format: String): String = SimpleDateFormat(format).f..
[AOS] Navigation Component Navigation Component는 하나의 Activity에 다수 Fragment를 뒀을때 화면 이동을 도와줍니다. 기존에 Fragment Manager을 사용해서 Fragment들의 스택들과 Fragment별 전환 및 전환 애니메이션을 관리하던 방법은 다소 복잡해서 사용이 꺼려졌었는데 'Navigation Component'를 통해 관리하면 보다 직관적이고 간편하게 관리할 수 있습니다. 참고 자료 ※AndroidStudio 버전은 3.3 이상이어야 합니다. | build.gradle def nav_version = "2.3.5" implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androi..