일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- rx
- node
- Kotlin
- Android
- SWIFTUI
- list
- junit
- node.js
- RxKotlin
- liveData
- 인앱결제
- Reactive
- MotionLayout
- GCP
- 동영상
- Animation
- mysql
- MediaSession
- 테스트 자동화
- MediaPlayer
- Observable
- paging
- PagingLib
- Koin
- android13
- Android 13
- SwiftUI Tutorial
- google play
- mvvm
- databinding
- Today
- Total
목록Android jetpack (14)
봄날은 갔다. 이제 그 정신으로 공부하자
Paging Library를 사용하면 전체가 아닌 사용자가 지정한 묶음 단위로 한 번에 로드하여 표시할 수 있으며, 요청에 따라 일부 데이터를 로드하면 네트워크 대역폭 및 시스템 리소스 사용량을 줄일 수 있습니다. 이 글에서는 라이브러리의 몇 가지 개념적인 예를 제공하며 라이브러리의 작동 방식을 개략적으로 설명합니다. Library Architecture PagedList Paging Library의 핵심 구성요소는 앱의 데이터 묶음 또는 페이지를 로드하는 PagedList 클래스입니다. 데이터가 더 많이 요구되면 데이터는 기존 PagedList 객체로 페이징되며 로드된 데이터가 변경되면 LvewData 또는 RxJava2 기반 객체에서 식별 가능한 데이터 홀더로 새로운 PagedList 인스턴스를 내보..
해당 글에서는 Android 백그라운드 서비스중 하나인 WorkManager에 대해 설명하고 간단한 사용법에 대해 가이드 합니다. WorkManager란? 앱이 종료되거나 기기가 다시 시작되더라도 실행이 예상되는 연기 가능한 비동기 작업을 쉽게 예약할 수 있는 라이브러리로, Service와의 차이점은 앱의 process 안의 새로운 thread에서 task를 실행시킬 수 있다는 점 입니다. WorkManager의 작업은 반드시 실행되지만 그 처리가 상황에 따라 지연 되거나 도중에 중단될 경우 다시 실행 될수 있다는 것을 꼭 기억해야 합니다. "백그라운드 처리 가이드" 문서에서 언급하였듯이, 백그라운드로 동작하는 모든 경우에 WorkManager가 적합한 것은 아닙니다. WorkManager로 작업 예약 ..
모든 Android 앱에는 측정 뷰와 그리기 뷰를 포함한 UI 처리, 사용자 상호작용 조정 및 수명 주기 이벤트 수신을 담당하는 기본 스레드가 있습니다. 이 Thread에서 작업이 너무 발생하면 앱이 멈추거나 느려진 것 같아 원치 않은 사용자 경험을 초래할 수 있으므로 비트맵 디코딩, 디스크 액세스 또는 네트워크 요청 수행과 같은 장기 실행 계산과 연산은 별도의 백그라운드 Thread에서 수행해야 합니다. 즉, 일반적으로 몇 밀리초 이상 걸리는 작업은 백그라운드 Thread에 위임해야 합니다. android 백그라운드 처리 작업은 Thread, AlarmManager, Service, Broadcast Receiver 등을 사용해 처리하였지만 너무 많은 앱 들이 서로 다른 방식으로 백그라운드 처리 작업을..
해당 글은 android DI 라이브러리 2번째 글로 여기에서는 google에서 최근 새롭게 선보인(2020-06) Dagger Hilt에 대해 설명합니다. Dagger Hilt와 Koin을 비교하는 것은 별도의 글에서 설명할 예정(안한다는 얘기를 돌려서하는 중...)이며, 여기에서는 Dagger Hilt에 대해서만 설명합니다. Dagger Hilt란? 의존성 주입(Dependency Injection)은 최근 Android 개발 환경에 있어서 가장 주목받고 있는 디자인 패턴 중 하나입니다. 많은 개발자들이 의존성 주입을 위해 Koin과 함께 Google에서 밀어주고 있는 오픈소스 라이브러리 Dagger 사용하고 있습니다. 하지만 Dagger는 annotation processing, 각 annotati..
android 앱 개발에 다양한 패턴(MVP, MVVM)이 적용되면서 DI에 필요가 증가하였고 현재 많은 android 앱들이 개발에 Koin이나 Dagger와 같은 의존성 주입 라이브러리를 사용하고 있습니다. 해당 글에서는 android 의존성 주입 라이브러리(Data Injection lib) 중 하나인 Koin에 대해 설명합니다. Dagger는 별도의 글에서 설명합니다. Koin이란? Koin은 Java로 구현된 Dagger과 달리 Kotlin언어로 개발된 DI 라이브러리이며, 순수 Kotlin으로만 작성되어있어 Proxy, Annotation 프로세싱을 통한 코드 생성, 리플렉션을 사용하지 않기 때문에 가볍습니다. Koin은 Kotlin에서 제공하는 DSL(Domain-Specific Langua..
초창기 android는 비지니스 로직과 View로직의 분리를 구조적으로 지원하지 않고 개발 구조를 개발자들에 위임하였습니다. 숙련도 있는 일부 개발자들은 높은 자유도를 활용해 높은 안정성에 우수한 성능을 자랑하는 앱을 개발하였지만 대다수의 개발자들은 비지니스 로직과 View 로직을 분리하지 않고 기능 개발에 급급했습니다. 그러다 보니 마켓에 배포된 앱들에서 ANR과 비정상 종료를 보는 것은 어려운 일이 아니었습니다. 이러한 문제를 개선하기 위해 google은 MainThread에서 Network 및 DB 엑세스 제한, 백그라운드 프로세스 실행 제한 등과 같은 많은 제한을 두어 이러한 문제를 해결하였지만 반대로 개발 난이도의 상승을 불러 일으키게 되었습니다. 이에 google은 개발자 지원 정책으로 다양한..