Size: a a a

Android Architecture

2020 June 10

А

Антон in Android Architecture
Здравствуйте, в принципе не в тему беседки, но вдруг может кто-нибудь подсказать как решить проблему обрезания  экрана клавиатурой?
Кейс: На экране B открываю клавиатуру, возвращаюсь назад, экран А и уже все приложение становится обрезанным. Использую Cicerone если что. Надеюсь, что какие-нибудь профессионаlle подскажут как жить
источник

АЕ

Алексей Ершов... in Android Architecture
Антон
Здравствуйте, в принципе не в тему беседки, но вдруг может кто-нибудь подсказать как решить проблему обрезания  экрана клавиатурой?
Кейс: На экране B открываю клавиатуру, возвращаюсь назад, экран А и уже все приложение становится обрезанным. Использую Cicerone если что. Надеюсь, что какие-нибудь профессионаlle подскажут как жить
И вам тоже в @android_ru 🙂
источник

А

Антон in Android Architecture
Ну лан, лан, прогнали)
источник

MT

Maxim Ternovtsi in Android Architecture
Зачем нужен Repository если можно из Interactor/UseCase сразу дергать api/dao?
источник

AD

Aleksey D. in Android Architecture
Maxim Ternovtsi
Зачем нужен Repository если можно из Interactor/UseCase сразу дергать api/dao?
в подавляющем большинстве случаев и не нужен 🤷‍♂️

api/dao сами по себе и есть репозитории

(хороший вопрос для наброса)
источник

AS

Alexey Skriplenok in Android Architecture
Maxim Ternovtsi
Зачем нужен Repository если можно из Interactor/UseCase сразу дергать api/dao?
с точки зрения чистой архитектуры твой iteractor ничего не должен знать об api/dao
источник

MT

Maxim Ternovtsi in Android Architecture
Единственное, что мне приходит на ум: нам нужна одна и та же сущность скажем UserEntity с 5 полями, на 2 экранах. Только на одном нужно 4 поля от нее, а на другом 3 поля, и в Interactor делаем маппинг
источник

MT

Maxim Ternovtsi in Android Architecture
Тогда логичнее вызов dao перенести в repository и сделать 2 usecase
источник

AD

Aleksey D. in Android Architecture
Maxim Ternovtsi
Единственное, что мне приходит на ум: нам нужна одна и та же сущность скажем UserEntity с 5 полями, на 2 экранах. Только на одном нужно 4 поля от нее, а на другом 3 поля, и в Interactor делаем маппинг
и то частично можно решить через два запроса в dao, например
через TypeAdapter в GSON и т.д.
источник

MT

Maxim Ternovtsi in Android Architecture
Aleksey D.
и то частично можно решить через два запроса в dao, например
через TypeAdapter в GSON и т.д.
Тогда лучше вообще маппиг делать в presenter/vm, что думаете?
источник

АЕ

Алексей Ершов... in Android Architecture
Maxim Ternovtsi
Зачем нужен Repository если можно из Interactor/UseCase сразу дергать api/dao?
Кэширование как будете делать?
источник

NT

Nikita Tipun in Android Architecture
Maxim Ternovtsi
Зачем нужен Repository если можно из Interactor/UseCase сразу дергать api/dao?
Ну а если тебе например надо достать данные из бд, посмотреть их актуальность, в случае чего запросить с сервера новые и заперсистить их? Это выглядит как логика о которой интерактор не должен знать
источник

АЕ

Алексей Ершов... in Android Architecture
Тут как с любыми архитектурными изяществами, репозиторий не нужен ровно до тех пор, когда он становится очень нужен из-за того, что требования изменились.
источник

A

Alexey in Android Architecture
По реализации взаимосвязей в room здесь можно спросить, или не по теме?
источник

AA

Andrey Akimov in Android Architecture
Alexey
По реализации взаимосвязей в room здесь можно спросить, или не по теме?
источник

A

Alexey in Android Architecture
О спасибо
источник

AD

Aleksey D. in Android Architecture
Maxim Ternovtsi
Тогда лучше вообще маппиг делать в presenter/vm, что думаете?
ну, зависит от уровня моделей)
источник

AD

Aleksey D. in Android Architecture
Алексей Ершов
Тут как с любыми архитектурными изяществами, репозиторий не нужен ровно до тех пор, когда он становится очень нужен из-за того, что требования изменились.
а я поймал себя на том, что умный репозиторий (который что-то кеширует по ходу дела) только добавляет неточностей и вольностей

особенно, если в проекте нет каких-то строгих стайлгайдов и каждый дро… пишет как он хочет

потом появляются такие кейсы:
- что, если мне вот тут эти данные нормально из кеша взять, а в случае их отсутствия загрузить
- что, если вот здесь нужны только свежие данные
- вот здесь мне нужно либо кеш, либо ошибку получить

и тут несколько вариантов:
а) простые методы репозитория + логика, которая сама их как нужно скомбинирует
б) по методу на каждый случай в репозиторий
в) несколько разных репозиториев на сущность (самый плохой вариант)
г) передавать флаги в метод, а-ля «isCacheAllowed»
источник

T

Tepex in Android Architecture
Я для этого использую абстракцию в виде стратегии кеширования.
источник

AD

Aleksey D. in Android Architecture
Tepex
Я для этого использую абстракцию в виде стратегии кеширования.
а кто ее впихивает в репозиторий? (или куда там)
источник