Содержание
- 2. ContentProvider -- компонент приложения, позволяющий получать доступ к данным в табличном виде и в виде файлов
- 3. Loader-ы -- набор классов и интерфейсов, облегчающих организацию асинхронной загрузки данных и сохранение данных при изменении
- 4. CursorLoader перезапрашивает данные при правильном использовании notifiChange и setNotificationUri Метод setNotificationUri класса Cursor позволяет установить URI
- 5. Используя информацию из класса-контракта узнать URI данных ContactsContract.Contacts.CONTENT_URI Реализовать интерфейс LoaderManager.LoaderCallbacks В методе onCreateLoader инстанциировать Loader
- 6. В методе onLoadFinished написать код обрабатывающий получение данных из Loader-а В методе onLoaderReset написать код обрабатывающий
- 7. Вызвать getLoaderManager().initLoader(LOADER_ID, null, this) и передать в него идентификатор Loader-а (int-овое число), Bundle с аргументами (может
- 8. На примере списка городов Создать класс-наследник ContentProvider-а Реализовать onCreate для легковесной инициализации (БД, UriMatcher) Реализация ContentProvider-а
- 9. Контракт Реализация ContentProvider-а 2
- 10. Реализовать query для получения данных Реализация ContentProvider-а 3
- 11. Реализовать insert для вставки данных, принимает Uri данных и данные, возвращает Uri сохранённых данных, getContext().getContentResolver().notifyChange. В
- 12. Реализовать update для обновления данных, принимает Uri данных, данные, условия выборки для обновления, возвращает количество затронутых
- 13. Реализовать getType Реализация ContentProvider-а 6
- 14. Реализовать openAssetFile Реализация ContentProvider-а 7
- 15. В ContentResolver-е можно регистрировать ContentObserver Реализация ContentProvider-а 8
- 16. Объявить провайдер в манифесте Реализация ContentProvider-а 9
- 17. Доступ к ContentProvider-у можно получать не только из приложения, в котором он реализован, но и из
- 18. Создать класс-наследник AsyncTaskLoader-а Реализовать по крайней мере методы loadInBackground и onStartLoading Реализация Loader-а на примере AsyncTaskLoader-а
- 19. В loadInBackground размещается основная «тяжёлая» логика загрузки, метод будет выполняться не в главном потоке Реализация Loader-а
- 20. onStartLoading должен содержать минимальную логику по запуску загрузки (вызов forceLoad) Реализация Loader-а на примере AsyncTaskLoader-а 3
- 22. Скачать презентацию