| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 코틀린 이미지저장 #파일저장
- 안드로이드스튜디오 jdk
- apk이름변경
- 구버전 안드로이드 스튜디오
- 스레드 #코루틴
- 안드로이드스튜디오 다운
- 비콘스캐닝
- Room 데이터베이스 업데이트
- withContext
- compse state
- 안드로이드 비콘
- 코틀린 트리거 버튼
- compse collectAsState
- 1회용 플라스틱컵
- 셀룰로오스-g-폴리락타이드 공중합체
- 안드로이드 mvvm
- 코루틴 job
- 토글 험수
- 안드로이드 sms
- 상태바 가려짐현상 #소프트키 가려짐
- #큐구조 #큐다운로드
- 모의위치 주입
- 라이브데이터 postValue
- TwomonUSB
- viewmodelscope
- 안드로이드 스튜디오 애뮬레이터
- var 와 val
- bluetoothmanager
- 커스텀스피너
- TowmonUSB 연결오류
- Today
- Total
목록전체 글 (57)
EnjoyLife
퍼옴 https://comeths.tistory.com/133 Error while waiting for device: Timed out after 300seconds waiting for emulator to come online. Android Studio 우측 상단의 AVD Manager를 누른 후 에러가 발생한 에뮬레이터를 우클릭한 후 Wipe Data를 선택한다. 해당 에뮬레이터를 다시 실행해 보면 에러가 발생하지 않는다. comeths.tistory.com 에러가 발생한 에뮬레이터를 우클릭한 후 Wipe Data를 선택한다.
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } //아래 코드를 추가한다. applicationVariants.all { variant -> variant.outputs.all { outputFileName = parent.project.getName() +"_V${variant.versionName}_${new Date().format('YYMMdd')}.apk" } } }
아래 링크 참고. 퍼옴 https://medium.com/@nayantala259/android-how-to-read-and-write-parse-data-from-json-file-226f821e957a Android — How to Read and Write (Parse) data from JSON File ? How to Insert, Update and Delete the data available in JSON File in Android ? medium.com
LiveData와 유사한 기능이 있습니다. 바로 State입니다. State는 Compose에서 데이터를 관리하는 데 사용되는 선언형 데이터 구조입니다. LiveData와 마찬가지로 State는 값이 변경될 때 UI를 자동으로 업데이트합니다. State는 LiveData와 몇 가지 차이점이 있습니다. 첫째, State는 항상 최신 값을 포함합니다. LiveData는 데이터의 이전 값을 포함할 수 있습니다. 둘째, State는 Compose의 뷰 계층에 직접 바인딩할 수 있습니다. LiveData는 뷰 계층에 바인딩하려면 중개자(Mediator)를 사용해야 합니다. State를 사용하는 방법은 다음과 같습니다. @Composable 안의 함수에서는 State를 변경하기 위해 State 객체의 value 속..
아래 블로그를 참고하면 됩니다. 이보다 더 자세한 설명은 없더라구요. https://mparchive.tistory.com/176 [안드로이드] Room 데이터베이스의 테이블 등을 업데이트 할 시, Migration 옵션을 필히 집어넣자. 기존 프로젝트의 로컬 DB 테이블에 컬럼을 삽입해야하는 요구사항이 생겼는데, 이를 진행하면서 필수적이었던 Migration 과정을 리뷰해두고자 한다. Room DB를 안드로이드에 설정할 때에는 @Database mparchive.tistory.com
State는 UI의 상태를 나타내는 데 사용되는 데이터 구조입니다. State는 다음과 같은 특징을 가지고 있습니다. 변경 가능합니다. 관찰 가능합니다. 리컴포지션을 유발합니다. State를 사용하면 다음과 같은 장점이 있습니다. UI의 상태를 안전하게 관리할 수 있습니다. UI가 최신 상태를 반영할 수 있습니다. UI의 성능을 향상시킬 수 있습니다. State를 사용하지 않고 UI의 상태를 관리하면 다음과 같은 문제가 발생할 수 있습니다. UI의 상태가 불안정해질 수 있습니다. UI가 최신 상태를 반영하지 않을 수 있습니다. UI의 성능이 저하될 수 있습니다. State는 Compose에서 UI를 구성할 때 필수적인 데이터 구조입니다. UI의 상태를 관리할 때는 반드시 State를 사용해야 합니다. S..
collectAsState는 StateFlow나 Flow의 값을 State로 변환하여 사용할 수 있도록 해주는 함수입니다. State는 Compose에서 UI의 상태를 나타내는 데 사용되는 데이터 구조입니다. collectAsState를 사용하면 다음과 같은 장점이 있습니다. StateFlow나 Flow의 값을 UI에 직접 사용할 수 있습니다. StateFlow나 Flow의 값이 변경될 때마다 UI가 자동으로 리컴포즈됩니다. StateFlow나 Flow의 값이 변경될 때까지 UI가 멈추지 않습니다. collectAsState를 사용하지 않고 StateFlow나 Flow의 값을 UI에 직접 사용하면 다음과 같은 문제가 발생할 수 있습니다. UI가 StateFlow나 Flow의 값을 직접 변경할 수 있기 때..
동일한 결과가 나오지만 함수의 마지막 인자로 람다식을 적용한 코드가 더 간결함을 느낄수 있다. 람다코드의 매력은 함수의 마지막 인자가 람다식이면 중괄호{ } 로 표현하게 돼 소스가 간결해진다. 반환형이 Unit 으로 한 이유는 함수를 호출하기 위함이다. 반환값이 있으면 이방법을 쓸 이유가 없다. 일반코드 fun printNumbers(numbers: List) { for (number in numbers) { println(number) } } fun main() { val numbers = listOf(1, 2, 3) printNumbers(numbers) } 람다코드 fun printNumbers(numbers: List, action: (Int) -> Unit) { for (number in num..