본문 바로가기

Android60

Android constraint layout id 중복으로 사용하기 view를 visible, gone하면서 ui를 일정하게 유지하고 싶었다. How to set constraint to two views? https://stackoverflow.com/questions/50047796/how-to-set-constraint-to-two-views How to set constraint to two views? So I have a constraintLayout like this 2024. 2. 27.
Android Room DB 간단한 메모DB 만들어보기 + 주의할점 1. 의존성 추가 (최신 버전으로 업데이트) dependencies { def room_version = "2.4.1" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" // optional - Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" } 2.entity추가 import androidx.room.Entity import androidx.room.PrimaryKey @Entity data class Memo( @Primary.. 2024. 1. 5.
Android Room Database Map 저장하기 Room Database는 기본적으로 Map과 같은 복잡한 타입을 직접 지원하지 않기 때문에, 따로 JSON 문자열로 변환하고 저장해야한다. 1. TypeConverter작성 import androidx.room.TypeConverter import com.google.gson.Gson import com.google.gson.reflect.TypeToken class MapTypeConverter { @TypeConverter fun fromString(value: String): Map { val mapType = object : TypeToken() {}.type return Gson().fromJson(value, mapType) } @TypeConverter fun fromMap(map: Map.. 2023. 12. 20.
The project is using an incompatible version (AGP 8.1.2) of the Android Gradle plugin. Latest supported version is AGP 8.0.2 샘플 소스 다운받으니 뜨는 오류 바로 업데이트 확인해주고 업데이트 해줬다 재시작후 정상 동작 2023. 11. 25.
Kotlin 최대공약수 최소공배수 구하기 1. 최대공약수 (GCD): 유클리드 알고리즘을 사용하여 구할 수 있습니다. 이 알고리즘은 재귀적으로 두 수의 나머지를 이용하여 최대공약수를 찾습니다. 2. 최소공배수 (LCM): 두 수의 곱을 그들의 최대공약수로 나누어 구할 수 있습니다. 최대공약수 fun gcd(a: Int, b: Int): Int { return if (b != 0) gcd(b, a % b) else a } 최소공배수 fun lcm(a: Int, b: Int): Int { return a * b / gcd(a, b) } 이렇게 하면 두 정수에 대한 최대공약수와 최소공배수를 구할 수 있는 함수가 준비됩니다. 이 함수들은 재귀적이고 함수형 스타일로 작성되었으며, 코틀린의 간결한 문법을 활용하여 표현력 있게 구현되었습니다. 2023. 11. 14.
Android WorkManager Example 안정적인 작업 처리하기 WorkManager는 백그라운드에서 실행해야 하는 지연 가능하고, 보장되어야 하는 작업을 위한 안드로이드 라이브러리입니다. 즉, 앱이 종료되거나 기기가 재부팅되더라도 실행되어야 하는 작업들을 관리하는 데 쓰이죠. 1. 유연성: 작업 실행에 대한 다양한 조건을 지정할 수 있습니다. 예를 들어, 네트워크가 연결되었을 때만 작업을 실행하거나, 기기가 충전 중일 때만 실행하는 것과 같은 조건들이죠. 2. 보장성: 작업이 예정대로 완료될 것임을 보장합니다. 예를 들어, 기기가 재시작되거나 앱이 종료되어도 작업이 계속됩니다. 3. 호환성: WorkManager는 API 레벨 14 (아이스크림 샌드위치) 이상에서 작동하며, 최신 안드로이드 버전의 기능을 이용할 수 있도록 최적화되어 있습니다. 4. 쉬운 통합: Li.. 2023. 11. 8.