jetpack compose(30)
-
Jetpack Compose - Adaptive App Practice
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/69bd2fb6613fd1fbbfbc20b70989898f764a7e2c/SportsScreen
2024.02.14 -
Jetpack Compose - Adaptive app with dynamic navigation
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/8ece555aff853c252bde179edd64dc6cea18ec93/Reply BackHandler() - 시스템 뒤로 가기를 정의하는 컴포저블. @Composable fun ReplyDetailsScreen( replyUiState: ReplyUiState, onBackPressed: () -> Unit, modifier: Modifier = Modifier ) { BackHandler { onBackPressed()//해당 화면에서 시스템 뒤로 가기를 눌렀을 때, 실행되는 함수. } ... } WindowSizeClass - 화면 크기를 자동으로 계산하는 함수가 포함된 라이브러리로 너비..
2024.02.14 -
Jetpack Compose - Navigation, Instrumentation Test
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/991692b129d3287e9960bdf06765b32f330c0192/Cupcake Navigation 구성 요소.1) NavController - 대상(화면) 간 이동을 담당한다.2) NavGraph - 화면 간 이동의 경로 설정을 담당한다.3) NavHost - NavController, NavGraph를 근거하여 화면 간의 전환, 데이터 전달, 백 스택 처리들을 편리하게 처리할 수 있는 탐색 구조가 명확한 컴포저블. 경로 설정 - 각각의 화면을 나타내는 컴포지션들에 URL처럼 고유한 문자열 경로를 지정해줄 수 있는데, enum 클래스를 사용하면 가독성이 좋아지고 오타로 인한 버그를 ..
2024.02.07 -
Jetpack Compose - Architecture(ViewModel)
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/6bf0307305882c35e1b7016b8a28422fe5b2bbd6/Unscramble 아키텍처 원칙 1. 관심사 분리 - 각 기능의 구현이 독립적으로 존재하여 다른 부분에 영향을 주지 않도록 디자인하는 방법으로, 변경이 필요한 경우 해당 기능만 수정하면 되므로 다른 부분에 대한 걱정 없이 코드를 개선, 확장할 수 있다. 2. 모델에서 UI 만들기 - 앱의 데이터 처리를 담당하는 구성 요소인 모델을 통해서 UI를 완성시키는 방법으로, 이를 통해 데이터가 UI 요소와 독립되면서 수명 주기에 영향을 받지 않게 된다. 아키텍처 구조 1. UI 레이어 - 화면에 데이터를 출력하기 위한 요소들로, ..
2024.02.04 -
Jetpack Compose - Activity lifecycle, remember, rememberSaveable
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/143220ce01350232f547de99b72cd8edc743a2c5/DessertClicker onCreate - 운영체제가 메모리에 액티비티를 생성할 때 호출된다. 따라서 이 함수 내부에 setContent를 사용하여 레이아웃을 지정하면 액티비티의 생성과 동시에 레이아웃이 지정된다. onStart - 앱이 onCreate를 호출한 직후에 호출되어 액티비티가 화면에 출력되지만, 아직 앱을 통한 상호작용은 불가능하다. onResume - 앱이 포그라운드에 위치될 때 호출된다. *포그라운드는 앱이 화면에 출력되고 유저가 온전히 앱을 사용하는 시기를 말한다. onPause - 앱이 화면을 출력하..
2024.02.01 -
Jetpack Compose - Material Design Practice
https://github.com/SeongHyunJeon/android-kotlin-practice/tree/36dd9b50b641eed510889f2d3259f6d9f11604df/Superheroes 상위 레이아웃 범위 내에서 하위 요소들의 정렬은 크기가 보장되어야 하는 요소를 제외하고 가중치 Modifier.weight()를 설정하면 된다. 코드와 그 결과를 먼저 보자. Row( modifier = Modifier .fillMaxWidth() .padding(16.dp) .height(72.dp) ) { Column() { Text( text = stringResource(nameRes), style = MaterialTheme.typography.displaySmall ) Text( text =..
2024.01.30