며, 스레드 간 메시지 전달과 함께 조합하면 이 책에서 설명한 일반적인 동시 구조 중 어떤 것으
로도 실행될 수 있다. 그러나 안드로이드 플랫폼에는 프로바이더를 위한 두 가지 특별한 메커니
즘인
AsyncQueryHandler
와
CursorLoader
가 포함되어 있다. 이 장에서
AsyncQueryHandler
를 설명하고,
14
장에서
CursorLoader
를 설명한다.
CAUTION
_
콘텐트 프로바이더 구현에 새로운 스레드를 생성하는 것은 프로바이더의 호출자가 호출 결과
에 관심 없는 경우에만 실행 가능한 비동기 해결책이다. 즉, 호출의 목적이 데이터를 가져오는
query
가 아닌
insert
,
delete
,
update
를 위한 경우가 될 것이다. 데이터가 반환되어야 하는 경우, 백그라운드 스레드는
결과가 준비될 때까지 프로바이더에서 차단될 것이다. 결과적으로 호출은 비동기가 아니며 프로바이더를 사
용하는 스레드의 어려움을 해결하지 못한다.
13.3
AsyncQueryHandler
사용
AsyncQueryHandler
는
ContentResolver
, 백그라운드 실행, 스레드 간 메시지
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.