Android developer guide 상태 :내부적으로 사용되는 데이터베이스에 ContentProvider를 구현하는 오버 헤드를 피할 수 있습니까?
그래서 내가이있는 경우 SQLite는 DB가 (피 상용구 코드 작성의 많은 데) 다음 컨텐트 프로가 필요하지 말아야 응용 프로그램에 완전히 로컬로 사용,하지만 난 뭐죠 "안드로이드"얻을 didnt는 것을 알 수있다 백그라운드에서이 DB를 쿼리하는 방법?당신은 하지 않으려면 자신의 공급자를 개발하지 않아도 다른 응용 프로그램과 데이터를 공유 할 수 있습니다.
로더는 비동기 적으로 데이터를로드하는 것을 쉽게 : (의 적은 오버 헤드로 가능한 한 바퀴를 다시 발명과)
하지만, 밖으로 가장 가까운 서브 클래스를이 작업을 수행 할 수 Loader
의 어떤 서브 클래스가 없다 - CursorLoader는 ContentResolver
와 결합 할 desgined된다. 그래서, 나는 무엇인가 놓치고 있냐? Loader의 타사 구현이 있습니까? 아니면 다른 접근 방식이 있습니까?
감사합니다.
그렇다면 백그라운드에서 데이터베이스를 쿼리해야하고 작업 라이프 사이클 및 동기화를 처리하기 위해 번거 로움을 원할 때 로더 하위 클래스가 해당 작업에 적합하지 않다는 결론을 얻었습니까? –
@OfekRon : 앱마다 매우 다양합니다. 또한, 개별 프로젝트의 경우, 단순히'Loader' 전체 계약을 존중하지 않는 자신 만의'DatabaseLoader'를 생성하고 싶다면 그렇게 할 수 있습니다. 전체 계약을 존중할 수 없어 도서관 이용자를 오도하고 싶지 않아서 도서관을 판매하지 못했습니다. 그러나 로더 외에도 스레드와 유지 된 단편 또는 쓰레드와'onRetainNonConfigurationInstance()'또는 POJO 데이터베이스 관리자 등을 사용할 수 있습니다. 실제로 앱의 성격, 전반적인 UI 아키텍처 등에 따라 다릅니다. – CommonsWare