일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mockito
- 스레드
- 회고
- 코틀린
- 커스텀상태
- viewmodel
- Kotlin
- ReactiveProgramming
- Coroutine
- k8s
- android
- 안드로이드스튜디오
- kotlin강좌
- 알고리즘
- g 단위테스트
- 알게되는
- 안드로이드
- Gradle
- 병럴프로그래밍
- 병렬프로그래밍
- 책
- theming
- 안드로이드강좌
- 디자인패턴
- Rxjava
- 글또
- 코루틴
- 자바
- 테스트
- Compose
- Today
- Total
목록개발/android 개발 (47)
선생님, 개발을 잘하고 싶어요.

대상 2개 이상의 라이브 데이터를 조합해서 사용하고 싶은 사람. MediatorLiveData가 별로라고 생각하는 사람. 문제 2개 이상의 라이브 데이터를 조합하여 새로운 라이브 데이터를 만들고 싶다고 해보죠. 예를 들면, 로그인 화면에서 이메일과 비밀번호가 작성되었을 때만 로그인의 enable 설정이 되었으면 이 화면에서 2개의 live data를 쉽게 설계할 수 있겠죠. val email: MutableLiveData = MutableLiveData() val password: MutableLiveData = MutableLiveData() 해결 해결할 때 Flow를 사용해 봅시다. val enableLogin = combine(email.asFlow(), password.asFlow()) { ema..

무엇을 원하는가? 완전 커스텀한 뷰의 Dialog 전면을 다 차지하는 Dialog 단계별로 따라 하기 1. AlertDialog 사용하기 Dialog를 띄우는 가장 쉬운 방법은 AlertDialog.Builder가 제공하는 기능만 사용하는 것입니다. setTitle, setMessage, setPositiveButton을 조합하면 위의 Dialog와 일치하는 정보를 제공할 수 있습니다. 개발 기간이 너무 촉박하다면 이 코드를 사용해보세요. AlertDialog.Builder(context) .setTitle("로그인 해볼까요?") .setMessage("로그인 후 사용할 수 있는 기능입니다.") .setPositiveButton("로그인 하기", null) .setNegativeButton("x") { ..

안드로이드 백그라운드 가이드 https://developer.android.com/guide/background 백그라운드 작업 분류 즉시 (Immediate) 사용자와 상호작용 해야 하는가? 지연 (Deferred) 사용자와 상호작용 하지 않아도 되는가? 정확한 시간에 작동하지 않아도 되는가? 정시 (Exact) 사용자와 상호작용 하지 않아도 되는가? 정확한 시간에 작동해야 하는가? 백그라운드 작업 분류에 따른 해결 즉시 (Immediate) 앱의 스코프 내부에서만 유요한: 코틀린 코루틴, RxJava 앱 외부 스코프에서도 유요한: WorkManager(with long running support) 미디어나 스마트키 위젯에 유요한: Foreground Service 지연 (Deferred) WorkM..

Gradle 세팅하기 //rxjava implementation "io.reactivex.rxjava2:rxjava:2.2.9" implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation "io.reactivex.rxjava2:rxkotlin:2.3.0" //paging implementation "androidx.paging:paging-runtime-ktx:2.1.2" implementation "androidx.paging:paging-rxjava2-ktx:2.1.2" 오늘 샘플 데이터, 샘플 레포지토리 data class News( val id: String, val page: Int ) interface NewsRepository ..