Переключение Koin Dependency Injection между локальным и удаленным источником данныхAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Переключение Koin Dependency Injection между локальным и удаленным источником данных

Сообщение 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 для модернизации? потому что я не думаю, что когда метод вызывается в репозитории, я бы хотел наблюдать за ним прямо в репозитории, а затем получить доступ к данным, чтобы поместить их в локальную базу данных.

Подробнее здесь: https://stackoverflow.com/questions/618 ... ata-source
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как использовать SelectorBar, Frame и Dependency Injection
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Почему Spring Dependency Injection @Autowired выдает исключение NullPointerException в сервлете?
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как использовать SelectorBar, Frame и Dependency Injection
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Ошибка многоплатформенной платформы Kotlin (kmp) для настольных компьютеров Koin: NoClassDefFoundError: org/koin/core/er
    Anonymous » » в форуме Android
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Не удалось найти org.koin: koin-core: 2.2.2
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»