0

Google은 빠른 사용을 위해 데이터를 오프라인으로 저장하고 새로운 데이터를 온라인으로 가져 오는이 유용한 사용 패턴을 따르고 싶습니다.LoaderManager가 오프라인으로 데이터를 가져온 다음 온라인으로 표시합니다.

LoadersLoaderManager을 사용합니다.

Loaders으로 앞서 언급 한 접근 방식을 구현하는 올바른 방법은 무엇입니까?

현재 두 가지 접근 방식을 사용합니다. 단점이 있으며 일반적으로 매우 우아하지 않습니다. offlineLoaderonlineLoader - 대신

  • 두 별도의 AsyncTaskLoaders SQLite는
  • 의 애플리케이션 컨텍스트에 데이터를 저장

    1. . 첫 번째는 SQLite 데이터베이스에서 데이터를 가져와 거기이고 두 번째는 외부 서버에서 데이터를로드하는 경우 즉시 표시, 오프라인 데이터를합니다 (offlineLoader에 대한) 데이터베이스에 기록하고 대체 내가 것

    데이터를 오프라인으로 가져 와서 LoaderManager로 리턴하는 단일 로더가 나중에 계속 작동하고 준비가되면 새로운 온라인 데이터를 리턴합니다. 그래서 그것은 두 번 돌아와야합니다 - 심지어 가능합니까?

    +0

    이제 나는 그것에 대해 생각해 보았습니다. 온라인 데이터 다운로드를 시작하기 위해 onDeliverResult()를 재정의해야합니다 ... 누군가 틀렸다고 말해 주지만,이 방법으로 시도해 보겠습니다. –

    답변

    1

    이 솔루션은 UI와 Service의 다운로드 데이터에 Loader의 데이터를로드와 ContentProvider의를 사용하는 데이터베이스로 밀어 (그리고 변경된 있다고는 ContentProvider 앱의 나머지 부분을 통지).

    관련 문제