
공공 데이터 API 를 연동해서 어플리케이션을 개발하고 있었다. 공공 데이터 API 의 json 반환값은 다음과 같다. { response:{ header:{ resultCode: String, resultMsg: String, type: String, } body:{ items:[ { mrhstNm: String, mrhstCode: Integer, ctprvnNm: String, ... }] } totalCount:Integer, numOfRows:Integer, pageNo:Integer } } 여기서 나는 유의미한 데이터인 items 만 결과값으로 반환받고 싶었다. 만약 GsonConverterFactory 로 위 response 에서 바로 items 를 추출할려면, response 데이터 클래스..

State 의 정의 어플리케이션에서 State란 시간이 지남에 따라 계속 변화할 수 있는 모든 값을 의미한다. state 는 Room database 에 저장된 값일 수도 있고, 클래스의 프로퍼티일 수도 있다. Android Application 을 예로 들자면 다음과 같은 것들이 모두 상태를 유저에게 보여주는 것이라고 할 수 있다. 블로그 게시물과 댓글들 네트워크 연결 오류 스낵바 유저가 클릭시 보여지는 버튼 애니메이션 Android의 UI Update Android 에서 UI 업데이트는 대게 위와 같은 과정을 따라 수행된다. 유저에 의해, 혹은 어떤 식으로든 이벤트가 발생한다. (버튼 클릭, 게시물 추가, 댓글 추가 등등) 이벤트에 의해 State 가 변경됨 변경된 State 를 보여준다 (새로운 S..

이번 글에선 Compose 를 사용해서 Staggered Grid Layout 을 구현해볼 것이다. Compose 에서 Lazy Vertical Grid를 지원하도록 많이 노력 중이지만, 글을 작성하는 시점(2022년 1월 23일) 으로 아직까지 안정화가 되지 않았고, 구글에선 Column 이나 Row 를 사용해 동일한 결과를 얻도록 권장하고 있는 상황이다. Staggered Grid Layout 는 다음과 같은 격자 형태의 레이아웃을 의미한다. Compose Layout 에 대해 이해하기 우선 Staggered Gird Layout 을 만들려면, Compose 의 ViewGroup 역할을 하는 Layout 에 대해서 먼저 이해해야 한다. 컴포즈의 ViewGroup에서는 다음과 같은 순서를 통해 UI 트..
목차목차소개사전지식배울 것들사용할 것들해볼 것들테스팅 전략 컨셉Architecture 와 Testing 의 상관관계Fake Data source 만들기Test Double 활용하기step 1. FakeDataSource Class 만들기step 2. TasksDataSource Interface 구현하기Step 3. FakeDataSource 에 getTasks 함수 구현하기의존성 주입을 사용해 테스트 작성하기step 1. 생성자 의존성 주입을 이용하도록 DefaultTasksRepository 수정하기step 2. FakeDataSource 를 테스트에 활용하기step 3. DefualtTasksRepository getTasks() 테스트하기step 4. add runBlockingTestFake R..

이 글은 https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-basics#4 예제를 보고 따라하면서 작성한 글입니다. TDD - 안드로이드 예제와 함께 TDD 를 배워보자! 작성일자: 2021년 12월 26일 오후 10:42 작성자: HoJong 목차 TDD - Test Driven Development 그림1. 기존의 개발 프로세스 그림2. TDD 프로세스 TDD란 Test Driven Development의 약자로, ‘테스트 주도 개발’ 이라고 명합니다. 기존의 개발 프로세스가 디자인 → 개발 → 테스트 순서였다면, TDD 는 개발에 앞서 테스트케이스를 작성하는 프로세스를 가집니다. 즉 테스트 코드를 미리 작성..
Comment