일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftUI Tutorial
- node
- 테스트 자동화
- rx
- mysql
- Koin
- Kotlin
- junit
- GCP
- google play
- paging
- PagingLib
- MediaPlayer
- liveData
- MediaSession
- MotionLayout
- 인앱결제
- databinding
- 동영상
- RxKotlin
- Observable
- Android 13
- mvvm
- Android
- Animation
- SWIFTUI
- list
- node.js
- Reactive
- android13
- Today
- Total
목록Android (53)
봄날은 갔다. 이제 그 정신으로 공부하자
해당 글은 앱(android) UI 테스트 기능을 적용하면서 습득한 지식을 바탕으로 작성한 글입니다. 이전 글은 여기서 확인... als2019.tistory.com/13 우선 UNIT Test부터 적용하기 이 글은 현재 재직중인 회사의 앱에 UNIT 테스트를 적용한 후기 글 입니다. 이전 글을 읽지 않으신 분은 이전 글로... als2019.tistory.com/12 테스트 자동화 어떻게 만들까? Unit 테스트를 시작하기 전 als2019.tistory.com UI 단위로 단위 테스트를 하기보다는 앱에서 지원하는 모든 정책과 기능을 시나리오 관점에서 테스트하는 UI 시나리오 테스트를 작성하여 앱에 적용하였습니다. 현재까지 작성된 시나리오는 83개 이며 테스트 시간은 30분 가량 소요됩니다. 기능별로 ..
이 글은 현재 재직중인 회사의 앱에 UNIT 테스트를 적용한 후기 글 입니다. 이전 글을 읽지 않으신 분은 이전 글로... als2019.tistory.com/12 테스트 자동화 어떻게 만들까? Unit 테스트를 시작하기 전에… 해당 글은 Unit 테스트 기능을 개발 초기에 마주하는 문제에 대해 간단하게 기술합니다. 해당 글은 테스트 자동화 두번째 글이므로 이전 글을 읽지 않은 als2019.tistory.com 시작 무엇을 어떻게 테스트 테스트할건지 계획을 세우는게 시작 입니다. 앱은 서버와 주고 받은 데이터를 기준으로 동작합니다. 사용자가 앱을 실행하거나 결제할 데이터를 생성하거나 결제를 완료할 때 거의 모든 사용자 이벤트마다 앱은 서버에 데이터를 요청하고 데이터를 받아 가공한 후 사용자에게 제공합니..
Unit 테스트를 시작하기 전에… 해당 글은 Unit 테스트 기능을 개발 초기에 마주하는 문제에 대해 간단하게 기술합니다. 해당 글은 테스트 자동화 두번째 글이므로 이전 글을 읽지 않은 분은 이전 글을 읽고 오시면 감사합니다. als2019.tistory.com/11 조금 더 개발에 집중하기 위한 테스트 자동화 검토 이 글은 제가 재직하는 회사에 테스트 자동화를 도입하는 과정을 작성한 글입니다. 현재 재직하는 회사의 앱은 회원제 서비스 앱으로 가입하는 방법에 따라 다양한 모드가 존재해 앱을 배포할 als2019.tistory.com 첫번째 난관 테스트 자동화를 위해 테스트 기능을 개발하려고 마음 먹으면 “제일 먼저 마주하는 문제가 무얼 테스트해야 하지?” 테스트를 구분해야 합니다. “UNIT 테스트”와 ..
이 글은 제가 재직하는 회사에 테스트 자동화를 도입하는 과정을 작성한 글입니다. 현재 재직하는 회사의 앱은 회원제 서비스 앱으로 가입하는 방법에 따라 다양한 모드가 존재해 앱을 배포할때마다 모든 모드에 대한 테스트를 수행하는데 많은 시간이 걸렸고 또 제대로 테스트 했는지 확인하는 것도 어려웠습니다. 앱을 배포할 때마다 이런 비효율적인 시간을 없애기 위해 테스트 자동화를 도입하기로 결정하고 테스트 자동화에 대해 검토를 시작하였습니다. 이 글에서는 왜 테스트 자동화가 필요하고 테스트 자동화를 하기 위한 도구에는 어떤 것들이 있는지에 대해 설명합니다. 왜? 테스트 자동화가 필요한가! 개발자들이 특히 제가 제일 귀찮아 경시하게 되는 과정이 기능을 만들고 테스트하는 과정 입니다. 대부분 기능을 만들고 머리 속에서..
이 글에서는 “Paging Library - Overview(als2019.tistory.com/8)”를 기반으로 특히 정보가 변경될 때 앱의 UI에서 사용자에게 정보 목록을 표시하는 방법을 설명합니다. 프로젝트에 Paging Library 추가 프로젝트의 build.gradle 파일에 아래 종속성을 추가합니다. dependencies { def paging_version = "2.1.0" // For Kotlin use paging-runtime-ktx implementation "androidx.paging:paging-runtime:$paging_version" // alternatively - without Android dependencies for testing // For Kotlin use..
이 글에서는 “Paging Library - Overview(als2019.tistory.com/8)”를 기반으로 앱의 아키텍처 요구에 맞게 앱의 데이터 로드 솔루션을 맞춤설정하는 방법을 설명합니다. observable list 생성 일반적으로 UI 코드는 앱의 ViewModel에 있는 LiveData 개체(또는 RxJava2를 사용하고 있다면 Flowable 또는 Observable 개체)를 관찰합니다. 식별 가능한 개체는 앱 목록 데이터의 콘텐츠와 표시 간에 연결을 형성합니다. 이러한 식별 가능한 PagedList 개체 중 하나를 생성하려면 DataSource.Factory 인스턴스를 LivePagedListBuilder 또는 RxPagedListBuilder 개체에 전달해야 합니다. DataSour..
Paging Library를 사용하면 전체가 아닌 사용자가 지정한 묶음 단위로 한 번에 로드하여 표시할 수 있으며, 요청에 따라 일부 데이터를 로드하면 네트워크 대역폭 및 시스템 리소스 사용량을 줄일 수 있습니다. 이 글에서는 라이브러리의 몇 가지 개념적인 예를 제공하며 라이브러리의 작동 방식을 개략적으로 설명합니다. Library Architecture PagedList Paging Library의 핵심 구성요소는 앱의 데이터 묶음 또는 페이지를 로드하는 PagedList 클래스입니다. 데이터가 더 많이 요구되면 데이터는 기존 PagedList 객체로 페이징되며 로드된 데이터가 변경되면 LvewData 또는 RxJava2 기반 객체에서 식별 가능한 데이터 홀더로 새로운 PagedList 인스턴스를 내보..
해당 글에서는 Android 백그라운드 서비스중 하나인 WorkManager에 대해 설명하고 간단한 사용법에 대해 가이드 합니다. WorkManager란? 앱이 종료되거나 기기가 다시 시작되더라도 실행이 예상되는 연기 가능한 비동기 작업을 쉽게 예약할 수 있는 라이브러리로, Service와의 차이점은 앱의 process 안의 새로운 thread에서 task를 실행시킬 수 있다는 점 입니다. WorkManager의 작업은 반드시 실행되지만 그 처리가 상황에 따라 지연 되거나 도중에 중단될 경우 다시 실행 될수 있다는 것을 꼭 기억해야 합니다. "백그라운드 처리 가이드" 문서에서 언급하였듯이, 백그라운드로 동작하는 모든 경우에 WorkManager가 적합한 것은 아닙니다. WorkManager로 작업 예약 ..