일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 안드로이드스튜디오
- kotlin강좌
- theming
- ReactiveProgramming
- 알고리즘
- 글또
- 코루틴
- 병럴프로그래밍
- 책
- 디자인패턴
- Kotlin
- 안드로이드
- mockito
- Rxjava
- g 단위테스트
- 자바
- 스레드
- 테스트
- k8s
- 회고
- android
- 안드로이드강좌
- Compose
- 코틀린
- viewmodel
- 커스텀상태
- Gradle
- 알게되는
- 병렬프로그래밍
- Coroutine
- Today
- Total
목록안드로이드 (22)
선생님, 개발을 잘하고 싶어요.
필자가 최근에 artic이라는 앱을 개발하기 위해 프로젝트 구조를 설계한 내용을 공유해보고자 한다. 어떤 프로젝트 구조이고 왜 이 프로젝트 구조를 생각했으며 어떻게 목적을 달성하는지 보여주고자 한다. 목적 데이터 코드와 UI 코드의 분리 네트워크 연결성과 UI 코드의 분리 artic이라는 앱은 서버에서 데이터를 받아와서 화면에 뿌려주는 간단하다면 간단한 앱이다. 그런데 통상적으로 네트워크 통신이 들어가는 화면을 검증하는 것은 위험한 일이다. 과연 프론트와 서버 둘 중 무엇이 잘못된 건지 어떻게 장담하는가? 그리고 서버 코드가 나오기 전 까지는 프론트 개발에 손을 때 놓고 있을 수 도 없는 노릇 아닌가? 추가적으로 이번 프로젝트에서는 네트워크 연결이 끊겼을 때 에러를 내보네는 앱이 아니라 로컬 데이터베이스..
서문 MVP 디자인 패턴을 공부하니 기존에 작업했던 프로젝트를 들쑤시며 배운 내용을 적용해보려고 하게 된다. 10개 정도 되는 액티비티와 프레그먼트에 MVP를 하나하나 적용해가며 겪었던 나름의 고충을 공유하고자 한다. 변경할 코드 및 문제점 class LoginActivity : AppCompatActivity() { private val REQUEST_CODE = 1000 private val networkService: NetworkService by lazy { SoptApplication.instance.networkService } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setC..