일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Compose
- kotlin강좌
- 코루틴
- Coroutine
- 알고리즘
- android
- 자바
- 안드로이드
- mockito
- theming
- 회고
- 커스텀상태
- 책
- Rxjava
- 병렬프로그래밍
- k8s
- 안드로이드스튜디오
- 병럴프로그래밍
- 글또
- Gradle
- 안드로이드강좌
- Kotlin
- 코틀린
- 테스트
- 스레드
- g 단위테스트
- ReactiveProgramming
- 디자인패턴
- viewmodel
- 알게되는
- Today
- Total
목록개발 (73)
선생님, 개발을 잘하고 싶어요.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cFZwFH/btqygC0x3Ll/dKJdSTh1MhBd4imbz0c4B1/img.png)
도입 안드로이드 프로그래밍은 매우 번거로운 일들의 모음이다. 이를 단축하기 위해 여러 가지 라이브러리를 사용하고, 안드로이드 스튜디오의 도움을 받고, 코틀린을 이용해 언어적 지원도 서슴없이 받고 있지만, 여전히 번거롭다. 프로그램 개발에서 리스트의 중요성은 말 안해도 아실 것이다. 프로그램 자체가 데이터를 정리해서 보여주는 것이고, 많은 데이터를 하나의 아이템으로 사용자에게 전달할 때 리스트 만 한 것이 없다. 실제로 유튜브의 무한대에 가까운 동영상은 리스트 형태로 사용자에게 보이고, 인스타그램, 페이스북 그리고 트위터의 피드, 카카오톡의 친구 목록, 카톡방들도 생각해보면 똑같은 형태의 리스트로 구성되어 있다. 그만큼 우리가 어플리케이션을 개발할 때 리스트는 자주 작업하게 되는 것이다. 하지만 서두에도 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nqnlh/btqxpfeZR5h/qwqy4nAsrUvx3dLSraLv9k/img.png)
목적 안드로이드 개발을 하다 보면 빈번히 사용자에게 특정 정보 입력을 강요하는 modeless popup을 띄워주어야 하는 경우가 있다. 대화상자 안드로이드 공식 홈페이지를 참고하면 alert dialog에 대해서 알고 손쉽게 popup을 띄워줄 수 있다. 하지만 전체 프로젝트에서 여러 번 사용하기엔 코드의 반복이 많고 크고 번거롭다는 생각이 들었다. 아래는 실제 프로젝트에서 적용할 popup 이미지이다. 필자는 우선 안드로이드에서 기본 제공되는 alert dialog는 프로젝트의 요구사항을 만족시키지 못한다는 사실을 알았다. 디자이너가 준 새로운 popup을 띄워줄 필요가 있다. 진행 필자는 공식 홈페이지의 문서중 사용자 지정 레이아웃 생성을 참조했다. 코드만 따로 가져와서 같이 보면서 얘기해보자. @..
상황 1. Splash Activity가 Lottie를 이용한 스플래시 애니메이션을 실행해 주어야 한다. 2. Splash Activity가 자동 로그인 성공하면 Main Activity로, 실패하면 Login Activity로 분기 해야 한다. 문제 자동 로그인 결과가 나오자마자 분기하면 스플래시 애니메이션이 중간에 끊긴다. 반대로 스플래시 에니메이션이 끝나고 분기하면 자동 로그인의 성공여부를 몰라 어디로 분기해야 할지 알 수가 없다. 해결책 rxjava의 combineLatest를 사용해서 두개의 비동기 작업을 연결한다. // 애니메이션이 끝날 때 animationEnd 스트림에 종료를 알린다. lottie_splash.addAnimatorListener( object : Animator.Animat..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/obVeb/btqxgWY30a8/KBysVuGK9x7KtVXUsamWXk/img.png)
필자는 맥북으로 작업을 하고 있다. 따라서 mac os 기준으로 단축키를 설명한다. 하지만 필자가 애용하는 단축키들은 전부 안드로이드 공식 문서 에서 확인할 수 있다. 습관성 모두 저장 : Command + S 프로젝트 탐색 모든 항목 검색 : Shift + Shift 파일 찾기 : Command + Shift + O 클래스 찾기 : Command + O 코드 편집 새 줄 시작 : Shift + Enter 찾기 : Command + F 줄 주석으로 처리/제거 : Command + / 이름 바꾸기 : Shift + F6 메서드 재정의 : Control + O 메서드 구현 (interface 상속으로 반드시 구현해야 하는 override 함수들) : Control + I 선언으로 이동 : Command + ..