Size: a a a

Android Architecture

2020 August 17

A

ABI in Android Architecture
Sunny End
Восстановление с завода действительно делает его как с завода? Или все же знающий человек может там поковыряться?
Что мешает купить из США с доставкой на том же Амазоне (там есть типа БУ но от Амазона)?
источник

SE

Sunny End in Android Architecture
Время доставки. Телефон мне нужен в среду утром ))
источник

SE

Sunny End in Android Architecture
Есть вариант взять рку, или се. Но тут уже прихоть, хочу андр попробовать! Если есть такие чаты, где люди разбираются в таких устройствах - почему бы и не попробовать узнать)
источник
2020 August 18

PA

Pavel Aleksandrov in Android Architecture
Ребят, а какие сейчас доступны способы передачи различных данных между экранами (довольно большие объекты из бизнес-логики)? Сам знаю только такие:
- Передавать через Bundle и Parcel/Shared Preferences (как по мне – это очень не расширяемо и неудобно)
- Передавать данные через shared ViewModel (тоже кажется не ок, так как повсюду надо будет таскать нужные ViewModel)
- Глобальный синглтон, привязанный к Application (слишком много проблем с инициализацией и консистентностью)
- Получать данные из БД через репозитории и интеракторы (вроде самый оптимальный способ)
источник

RC

Roman Chumachenko in Android Architecture
Ребят, как вы считаете, допустимо ли, чтобы Use Case знал про SparseArray? Для задачи структура подходит как нельзя кстати, но это же компонент фреймворка, что думаете?
источник

QH

Quantum Harmonizer in Android Architecture
Roman Chumachenko
Ребят, как вы считаете, допустимо ли, чтобы Use Case знал про SparseArray? Для задачи структура подходит как нельзя кстати, но это же компонент фреймворка, что думаете?
Конечно.
источник

RC

Roman Chumachenko in Android Architecture
Quantum Harmonizer
Конечно.
Спасибо
источник

S

Singular in Android Architecture
Как в фрагменте получить ViewModel из Activity? не создавая новый ViewModel
источник

VP

Vitaly Peryatin in Android Architecture
Singular
Как в фрагменте получить ViewModel из Activity? не создавая новый ViewModel
(activity as? MyActivity)?.parentViewModel
источник

S

Singular in Android Architecture
А проще ни как? lazy там или еще что - нибудь? даггер...
источник

NT

Nikita Tipun in Android Architecture
Можно достать её из viewModelStore у активити
источник

NT

Nikita Tipun in Android Architecture
если она там конечно еесть
источник

VP

Vitaly Peryatin in Android Architecture
Singular
А проще ни как? lazy там или еще что - нибудь? даггер...
Куда проще? Это же самое простое и очевидное
источник

I

Igor in Android Architecture
Singular
А проще ни как? lazy там или еще что - нибудь? даггер...
Koin bySharedViewModel…
источник

AD

Aleksey D. in Android Architecture
Igor
Koin bySharedViewModel…
это ж с родительским фрагментом уже не работает?
источник

I

Igor in Android Architecture
Aleksey D.
это ж с родительским фрагментом уже не работает?
fun <T : ViewModel> Fragment.getSharedViewModel(
   clazz: KClass<T>,
   qualifier: Qualifier? = null,
   parameters: ParametersDefinition? = null
): T {
   return getKoin().getViewModel(
       requireActivity(),
       clazz,
       qualifier,
       parameters
   )
}


будет работать, у чаилд фрагмента та-же активити будет
источник

S

Singular in Android Architecture
Igor
fun <T : ViewModel> Fragment.getSharedViewModel(
   clazz: KClass<T>,
   qualifier: Qualifier? = null,
   parameters: ParametersDefinition? = null
): T {
   return getKoin().getViewModel(
       requireActivity(),
       clazz,
       qualifier,
       parameters
   )
}


будет работать, у чаилд фрагмента та-же активити будет
Спасибо
источник

VS

Vlad Storchevyi in Android Architecture
Можно вот так
private val viewModel by lazy {
   requireParentFragment().getViewModel<MyViewModel>() }
источник

VS

Vlad Storchevyi in Android Architecture
Или универсальный вариант, где можна указать как родительский фрагмент, так и активити
private val viewModel: MyViewModel by sharedViewModel(from = { requireParentFragment() })
источник

AD

Aleksey D. in Android Architecture
Igor
fun <T : ViewModel> Fragment.getSharedViewModel(
   clazz: KClass<T>,
   qualifier: Qualifier? = null,
   parameters: ParametersDefinition? = null
): T {
   return getKoin().getViewModel(
       requireActivity(),
       clazz,
       qualifier,
       parameters
   )
}


будет работать, у чаилд фрагмента та-же активити будет
так я хочу не на активити завязаться, а на родительский фрагмент 🤔
источник