Size: a a a

Android Developers

2020 December 27

M

Mark in Android Developers
так я и делаю подобную цепочку, просто если у меня в datasource реализация как HttpClient.downloadFile()
то я же не смогу обратиться к нему из репозитория, а-ля datasource.downloadFile?
источник

S

Silent829 in Android Developers
если у тебя функция внутри датасорса есть функция, которая расширяет функционал или облегчает использование хттпклиента, не расширяя логику работу самого датасорса напрямую и ты в репозитории не можешь обращаться к объекту клиента, то нет конечно
источник

M

Mark in Android Developers
то-есть это еще со старта было провальной идеей расширять его в datasource?
просто не тягать же по всей цепочке объект клиента
источник

M

Mark in Android Developers
хотя мейби это как-то более логично можно структурировать
источник

S

Silent829 in Android Developers
Mark
то-есть это еще со старта было провальной идеей расширять его в datasource?
просто не тягать же по всей цепочке объект клиента
да я думаю разницы нет где его расширять? если только ты не хочешь с “аРхИтЕкТуРнОй тОчКи зРеНиЯ” “ограничить” скоуп  обращения к данной функции.
источник

А

Александр in Android Developers
Всем привет, ребят у кого ни будь есть dexGuard обфускатор? Поделитесь пожалуйста, не могу в инете бесплатно найти
источник

M

Mark in Android Developers
ну, я мог расширить его во фрагменте, там же его и вызывать и быть довольным, но не бьют ли за такое по рукам?)
источник

Я

Ярослав in Android Developers
Макс Провоторов
Я сказал, что пропущена точка с запятой
Ничего там не пропущено, так можно писать
источник

МП

Макс Провоторов... in Android Developers
Ярослав
Ничего там не пропущено, так можно писать
Гигант мысли
источник

Я

Ярослав in Android Developers
Макс Провоторов
Гигант мысли
Ааа, ты об этом, а я о другом
источник

Я

Ярослав in Android Developers
Ладно разошлись
источник

МП

Макс Провоторов... in Android Developers
Макс Провоторов
Хоть почитай сначала
.
источник

S

Silent829 in Android Developers
Mark
ну, я мог расширить его во фрагменте, там же его и вызывать и быть довольным, но не бьют ли за такое по рукам?)
конечно не тягать по всей цепочек объект клиента. я хз какой у тебя юзкейс, я делаю так:
у меня есть к примеру ремоутдатасорс, локалдатасорс, у каждой из них могут быть свои источники данных (не называю датасорс, потому что локалдатасорс может под собой использовать рум, а может рилм, а может еще какую-то обертку над SQLite или несколько сразу, но данные типа с одной локалдатасорса возвращаются все равно, то же самое с ремоутдатасорсом, типа а вдруг я буду использовать не окхттпклиент или обертку помимо ретрофита, неважно)
далее есть репозиторий в котором у меня логика скачивания + сохранения в кэш и подобное, отсюда можно послать например локалдатасорсу запрос на удаление всех данных (типа челик вышел из юзер аккаунта своего))
юзкейс делает к репозиторую запрос на какие-то конкретные данные, тут я могу стаковать квери, фильтры и прочее
а вьюмодель просто получает их и я их могу как-то еще замапить / зафильтровать и фрагменту скормить как захочу, к примеру список возвращать по одному, а могу сразу все (используя флоу))
источник

M

Mark in Android Developers
Silent829
конечно не тягать по всей цепочек объект клиента. я хз какой у тебя юзкейс, я делаю так:
у меня есть к примеру ремоутдатасорс, локалдатасорс, у каждой из них могут быть свои источники данных (не называю датасорс, потому что локалдатасорс может под собой использовать рум, а может рилм, а может еще какую-то обертку над SQLite или несколько сразу, но данные типа с одной локалдатасорса возвращаются все равно, то же самое с ремоутдатасорсом, типа а вдруг я буду использовать не окхттпклиент или обертку помимо ретрофита, неважно)
далее есть репозиторий в котором у меня логика скачивания + сохранения в кэш и подобное, отсюда можно послать например локалдатасорсу запрос на удаление всех данных (типа челик вышел из юзер аккаунта своего))
юзкейс делает к репозиторую запрос на какие-то конкретные данные, тут я могу стаковать квери, фильтры и прочее
а вьюмодель просто получает их и я их могу как-то еще замапить / зафильтровать и фрагменту скормить как захочу, к примеру список возвращать по одному, а могу сразу все (используя флоу))
ну у меня во фрагменте с помощью флоу вызывается HttpClient.downloadFile()
и как бы я думал как его нормально зарелокейтить в датасорс, но расширение клиента немного ввело меня в ступор.
кроме как передачи ktor(объект HttpClient) как параметр, либо его создания в самом датасорс вариантов не вижу
источник

S

Silent829 in Android Developers
Зачем такую общую функцию как скачать файл держать не в глобальном скоупе?
источник

M

Mark in Android Developers
прости, но что ты имеешь в виду под глобальным скоупом?
доступ для всех?
источник

S

Silent829 in Android Developers
Да, зачем его внутри класса в данном случае держать
источник

M

Mark in Android Developers
источник

t

themfceo in Android Developers
Mark
ну у меня во фрагменте с помощью флоу вызывается HttpClient.downloadFile()
и как бы я думал как его нормально зарелокейтить в датасорс, но расширение клиента немного ввело меня в ступор.
кроме как передачи ktor(объект HttpClient) как параметр, либо его создания в самом датасорс вариантов не вижу
👍
источник

M

Mark in Android Developers
то-есть просто поместить в файл датасорса, но вне класса?
источник