일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nav_graph
- Datastore
- TypeConverter
- imageview
- electron
- room
- Binding Adapter
- hilt
- themes.xml
- 취업
- 테마
- 스플래시
- fragment
- 개발자
- 주석
- Livedata
- android studio
- Safe Args
- Jetpack Compose
- Navigation Component
- BottomNavigationView
- 일렉트론
- recyclerview
- Android
- Gradle
- ViewModel
- asLiveData()
- 안드로이드
- 면접
- kotlin
- Today
- Total
목록개발/Android (39)
나만 보는 일기장
.launch는 Job 객체를 반환 → Job을 통해 작업 컨트롤 가능 .async는 Defferd 객체를 반환 → .await() 통해 Defferd에 값이 들어옴. coroutineScope {}: 값 반환 전에 모든 자식 코루틴들이 완료됨을 보장해줌 structured concurrency를 위해 사용 structured concurrency → 여러 코루틴을 한번에 실행할 때 모든 작업이 완료됨을 보장받기 위해 사용 구조: 메인 쓰레드에서 여러 작업을 하는 suspend 함수를 호출 → 함수는 coroutineScope 안에서 여러 작업들을 시작한다. 그러면 coroutineScope가 하위 작업들이 모두 완료된 후 값을 반환 장점: 예외 처리가 가능하고, 작업 취소도 쉽다 viewModelSco..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kxOru/btreh1qS7Sg/9kLJn8JzWWo2Qh9OrlZugK/img.png)
현재 안드로이드에서 쓰는 DI Framework는 Dagger2, Hilt, Koin이 있는데, 내가 이해한 이 셋은 이렇다. Dagger2 | 자바 + 코틀린 사용 가능, 컴파일 할 때 오류 검출, 어렵다 Hilt | Dagger 기반, Dagger보다 쉽지만 큰 프로젝트에 쓰기엔 아직 이른듯 Koin | 자바 사용 불가, 런타임에 오류 검출 이 셋에 대한 자세한 정보는 아래 글을 읽으면 될 것 같다. https://velog.io/@sysout-achieve/Android-DI-Framework-%EC%84%A0%ED%83%9D%EC%A7%80Dagger2-Koin-Hilt Gradle 설정 https://github.com/google/dagger - Dagger 깃허브 페이지 // Add Dagg..
fun main() { makePC() } fun makePC(): PC { // ??? } class PC() { // ... } class CPU { // ... } class GPU { // ... } class RAM { // ... } class Power { // ... } PC라는 클래스를 만들기 위해 CPU, GPU, RAM, Power이라는 클래스들이 필요하다고 할 때, PC는 해당 클래스들에 대해 의존성을 가지고 있는 Dependent라고 하고, PC를 만들 때 필요한 클래스들은 Dependency라고 한다. 그리고 이 부품들을 PC에 전달하는 것을 의존성 주입이라 하는데, 의존성 주입의 방법에는 크게 3가지가 있다. 1. Constructor Injection fun makePC():..