일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- theming
- Kotlin
- Compose
- Gradle
- 안드로이드
- 테스트
- 코루틴
- 글또
- 병렬프로그래밍
- 알게되는
- k8s
- 안드로이드스튜디오
- Rxjava
- 스레드
- ReactiveProgramming
- 자바
- 디자인패턴
- Coroutine
- mockito
- kotlin강좌
- 코틀린
- viewmodel
- android
- g 단위테스트
- 커스텀상태
- 안드로이드강좌
- 회고
- 책
- 병럴프로그래밍
- 알고리즘
- Today
- Total
목록android (7)
선생님, 개발을 잘하고 싶어요.
안드로이드 styling 바로알기(theme vs style) 좋은 자료 공유 style은 Widget이 가지는 개별 attr에 대한 내용이다. (Single View에 적용) theme은 resource에 대한 semantic한 이름을 지정하는 내용이다. (App Level에 적용) theme이 interface라는 메타포가 좋았다. 코드를 작성할 때 interface 기반으로 작업하면 실제 구현체를 쉽게 교체할 수 있듯이 (일종의 OCP 처럼) theme attribute 기반으로 Widget을 설계하고, style을 구현하면 다른 resource set에 대해서 실제 값을 편하게 바꿀 수 있다. 노션에 정리한 거: https://greedy0110.notion.site/Android-Theme-Th..

대상 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") { ..
목적 반드시 종료되어야 하고, 지연될 수 있는 작업을 백그라운드에서 실행하고 싶을 때 사용한다. 매인 클래스 Worker: 실제 수행할 작업을 doWork 인터페이스에 정의 WorkRequest: Work를 수행하도록 요청한다. 수행할 Worker를 전달해야 한다. 수행할 제약 조건인 Constraints도 전달 가능하다. WorkManager: WorkRequest들을 스케쥴링 한다. Constraints: Work가 실행될 조건을 명세한다. Worker WorkManager에 의해서 생성된다. 내가 직접 생성하는 것이 아니기에, Worker의 멤버 변수가 유지될 것이라는 생각은 버려야 applicationContext로 앱 컨텍스트에 접근 가능하다. 작업의 성공 여부에 따라 Result를 반환한다. ..