일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 저요오드식
- leetcode
- 방사성동위원소치료
- 맛집
- 림프절전이
- 객체
- 카페
- kotlin
- 알고리즘
- 방사성 동위원소 치료
- 정렬 알고리즘
- firebase
- 동위원소치료
- 전이
- 임파선전이
- 백준알고리즘
- android auto
- java
- Compose
- MYSQL
- 수술
- 프로그래머스
- 갑상선암
- 코틀린
- 안드로이드
- Android Compose
- 자바
- 입원
- Android
- 폐CT
- Today
- Total
목록2025/07 (7)
새우버거의 개발 블로그

1. 코틀린에서 컬렉션 만들기코틀린은 자체 컬렉션을 제공하지 않고, Java 컬렉션과 똑같은 클래스를 사용합니다.val set = hashSetOf(1, 7, 54)val list = arrayListOf(1, 7, 54)val map = hashMapOf(1 to "one", 7 to "seven", 54 to "fifty-four")println(set.javaClass)println(list.javaClass)println(map.javaClass)// class java.util.HashSet// class java.util.ArrayList// class java.util.HashMap 따라서 Java에서 코틀린 함수를 호출하거나 코틀린에서 Java 함수를 호출할 때, 서로 변환할 필요가 없습니..

코틀린이란 무엇이며, 왜 필요한가?1. 코틀린의 주요 특성코틀린은 Java 플랫폼에서 돌아가는 프로그램 언어로, 이제 안드로이드 어플리케이션을 개발하는 사람이라면 대부분 Java만큼 사용하고 있는 언어입니다. Java와 코틀린은 모두 정적 타입 지정 언어이지만, 코틀린은 타입 추론, 널 안정성 등 더 편리하고 유용한 기능을 제공합니다. 1) 정적 타입 지정 언어코틀린은 Java와 마찬가지로 정적 타입 지정 언어입니다. 정적 타입 지정 언어란 변수나 함수의 타입이 컴파일 시점에 미리 결정되는 언어입니다. 예를 들어, Int 타입 변수에는 반드시 정수가 들어가야 하며, String 등 다른 타입의 값을 넣으려 하면 컴파일 오류가 발생합니다.val num: Int = 1num = "hello" // 컴파일 오..

Android Auto와 Automotive OS는 사용자에게 앱이 표시되는 방법에 차이가 있기 때문에 지원되는 앱 카테고리도 서로 다릅니다. 따라서 자동차용 앱을 개발할 때는 각 플랫폼의 요구사항과 특성을 충분히 고려해야 합니다. Android AutoAndroid Auto는 스마트폰을 유선 또는 무선으로 차량에 연결하여 차량 디스플레이에서 운전에 최적화된 앱 환경을 제공합니다. 스마트폰에 설치된 앱을 자동차 디스플레이 UI와 UX에 맞게 보여지는 것이기 때문에 단독으로 설치가 불가능합니다. Android Automotive자동차 제조 업체에서 자동차에 빌드한 인포테인먼트 플랫폼으로 에어컨, 난방, 오디오 기능과 같은 차량의 기능도 제어할 수 있습니다. 스마트폰 없이도 호환 앱을 직접 설치하고, 자동..

Android Auto 앱을 개발하고 테스트할 때는 데스크톱 헤드 유닛(Desktop Head Unit, DHU)을 사용하는 것이 일반적입니다. 데스크톱 헤드 유닛을 사용하면 실제 차량 없이도 바로 Android Auto 환경을 시뮬레이션하여 테스트할 수 있습니다. 실제 차량에서도 테스트가 가능하지만 환경이 제한적이고 디버깅이 어렵기 때문에 디버그 빌드 테스트를 위해서는 DHU에서 확인하는 것이 권장됩니다.⚠️ 실제 차량에서 테스트하기 위해서는 내부 앱 공유 또는 내부 테스트 트랙을 사용하여 앱을 설치해야 합니다. Android Auto 개발자 옵션에서 '알 수 없는 소스 허용'을 허용하면 미디어, 메시지 알림, 주차 앱에서는 실제 차량에서 확인 가능하지만, Car app 라이브러리를 사용하여 빌드한 앱..

Compose에서 UI를 업데이트하는 주요 방법은 상태(state)가 변경되어 해당 상태를 읽는 Composable 함수에서 Recomposition이 발생하는 것입니다. 여기서 상태는 Composable 함수에 전달되는 매개변수일 수 있고, 함수 내부에서 remember, mutableStateOf 등으로 선언된 값일 수 있습니다. 첫 번째 코드는 실행해도 입력창에 값을 입력해도 아무런 변화가 나타나지 않습니다. 이는 View 시스템의 EditText와 달리, Compose의 TextField는 내부적으로 값을 자동으로 업데이트하지 않기 때문입니다. 두 번째 코드처럼 TextField의 value 값이 변경될 때만 Recomposition이 발생하여 UI가 정상적으로 업데이트됩니다.// value가 변..

Jetpack Compose에서 Composable 함수가 실행되면 앱의 UI를 트리 구조로 구성하고, 이 트리 구조를 Composition이라고 합니다.Composable의 수명 주기는 초기 Composition, Recomposition, Composition 종료로 정의됩니다.초기 Composition : 앱이 처음 실행되거나 화면이 처음 그려질 때, Compose가 UI를 그리기 위해 어떤 Composable 함수를 호출했는지 트리 구조로 기록하는 과정Recomposition : 앱의 상태(State) 변경 시, 해당 상태를 읽는 Composable 함수만 다시 실행해서 Composition 트리의 필요한 부분만 업데이트하는 과정Composition 종료 : Composable이 트리에서 제거되는..
State-based TextField 에서는 기존의 Value-based TextField 와 달리, TextFieldState 클래스를 통해 입력값, 커서 위치 등 입력창의 상태를 통합적으로 저장하고 관리합니다. 입력 흐름 전체를 하나의 객체로 캡슐화하여 관리하기 때문에 기존의 Value-based TextField 보다 안정적이고, 일관되게 입력창을 구현할 수 있습니다.// Value-based TextFieldvar text by remember { mutableStateOf("Hello") }TextField( value = text, onValueChange = { text = it },)// State-based TextFieldval state = rememberTextFiel..