Поэтому я пишу это приложение с удаленным источником данных. И я хотел добавить возможности локального хранилища БД. Я настроил архитектуру, в которой у меня есть интерфейс DataSource. Классы RemoteDataSource и LocalDataSource реализуют этот интерфейс. RemoteDataSource внедряется с модификацией ApiInterface, а LocalDataSource внедряется с DAO.
Теперь есть этот интерфейс репозитория и реализация SomeDataRepository и SomeDataRepositoryImpl. Если я хочу, чтобы репозиторий мог получать данные из API и сохранять их в базе данных, как мне это сделать?
Я внедрил оба источника RemoteDataSource и LocalDataSource в SomeDataRepositoryImpl для доступа к методам из разных источников данных. Таким образом, я могу вызвать что-то вроде localDataSource.saveToDb() и/или RemoteDatSource.fetchSomeData() int SomeRepositoryImpl. Но я не знаю, стоит ли передавать конкретные реализации классу.
Но если я передам, скажем, один интерфейс DataSource для SomeDataRepository , мне придется определить функцию saveToDb() в интерфейсе DataSource, а затем мне придется реализовать ее и в RemoteDataSource, что не так уж и хорошо.Может ли кто-нибудь объяснить мне, какой подход лучше всего подходит для этого решения?
А также, пока я этим занимаюсь, есть ли смысл обертывать данные с помощью Класс-оболочка LiveData прямо в интерфейсе API для модернизации? потому что я не думаю, что когда метод вызывается в репозитории, я бы хотел наблюдать за ним прямо в репозитории, а затем получить доступ к данным, чтобы поместить их в локальную базу данных.
Подробнее здесь: https://stackoverflow.com/questions/618 ... ata-source
Переключение Koin Dependency Injection между локальным и удаленным источником данных ⇐ Android
Форум для тех, кто программирует под Android
1716235747
Anonymous
Поэтому я пишу это приложение с удаленным источником данных. И я хотел добавить возможности локального хранилища БД. Я настроил архитектуру, в которой у меня есть интерфейс DataSource. Классы RemoteDataSource и LocalDataSource реализуют этот интерфейс. RemoteDataSource внедряется с модификацией ApiInterface, а LocalDataSource внедряется с DAO.
Теперь есть этот интерфейс репозитория и реализация SomeDataRepository и SomeDataRepositoryImpl. Если я хочу, чтобы репозиторий мог получать данные из API и сохранять их в базе данных, как мне это сделать?
Я внедрил оба источника RemoteDataSource и LocalDataSource в SomeDataRepositoryImpl для доступа к методам из разных источников данных. Таким образом, я могу вызвать что-то вроде localDataSource.saveToDb() и/или RemoteDatSource.fetchSomeData() int SomeRepositoryImpl. Но я не знаю, стоит ли передавать конкретные реализации классу.
Но если я передам, скажем, один интерфейс DataSource для SomeDataRepository , мне придется определить функцию saveToDb() в интерфейсе DataSource, а затем мне придется реализовать ее и в RemoteDataSource, что не так уж и хорошо.Может ли кто-нибудь объяснить мне, какой подход лучше всего подходит для этого решения?
А также, пока я этим занимаюсь, есть ли смысл обертывать данные с помощью Класс-оболочка LiveData прямо в интерфейсе API для модернизации? потому что я не думаю, что когда метод вызывается в репозитории, я бы хотел наблюдать за ним прямо в репозитории, а затем получить доступ к данным, чтобы поместить их в локальную базу данных.
Подробнее здесь: [url]https://stackoverflow.com/questions/61848367/koin-dependency-injection-switching-between-local-and-remote-data-source[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия