Size: a a a

Dart & Flutter по-русски

2020 May 17

DO

Dmitriy Orteney in Dart & Flutter по-русски
Sergey Salnikov
как у вас в голове всё намешано

native view для отображения любой вьюшки из платформы никак не связано с сервисами android

сервисы - это задача без ui

и что за новое открытие background view?
Ну тут уже вы не правы...
FlutterNativeView имеет флаг isBackgroundView, который указывает фреймворку, что вьюха ничего не отображает, а является точкой входа для нового дартового изолята

В метод runFromBundle передаются аргументы, в которых можно указать информацию о функции, которая будет запущена в этом изоляте
источник

SS

Sergey Salnikov in Dart & Flutter по-русски
roman G
Ещё раз
Как правильно работать с дартовским кодом, когда приложение закрыто?
поднимать isolate в сервисе
источник

SS

Sergey Salnikov in Dart & Flutter по-русски
Dmitriy Orteney
Ну тут уже вы не правы...
FlutterNativeView имеет флаг isBackgroundView, который указывает фреймворку, что вьюха ничего не отображает, а является точкой входа для нового дартового изолята

В метод runFromBundle передаются аргументы, в которых можно указать информацию о функции, которая будет запущена в этом изоляте
native view стартует isolate в сервисе?
источник

DO

Dmitriy Orteney in Dart & Flutter по-русски
Ну у меня например, на андройде, когда юзер смахивает приложение из недавних, т.е. флаттер убивается, стартует форграунд сервис в нативе, который создает FlutterNativeView, в котором вызывается "некая фоновая top-level функция" из дарта. Там уже заного дергается плагин местоположения и продолжается трекинг в фоне
источник

r

roman G in Dart & Flutter по-русски
Dmitriy Orteney
Ну у меня например, на андройде, когда юзер смахивает приложение из недавних, т.е. флаттер убивается, стартует форграунд сервис в нативе, который создает FlutterNativeView, в котором вызывается "некая фоновая top-level функция" из дарта. Там уже заного дергается плагин местоположения и продолжается трекинг в фоне
Точно так же сделано
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Ребят, я уже несколько раз натыкался на такой момент, мне надо связывать два потока данных, контроллер от инпута и стрим какой нибудь. Может есть какая штука которая могла бы их автоматически соеденять в один поток? Или как нибудь накрутить интерфейс стрима на этот контроллер. А что чет бойлерплейт кажется
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Evgenii Elchev
Ребят, я уже несколько раз натыкался на такой момент, мне надо связывать два потока данных, контроллер от инпута и стрим какой нибудь. Может есть какая штука которая могла бы их автоматически соеденять в один поток? Или как нибудь накрутить интерфейс стрима на этот контроллер. А что чет бойлерплейт кажется
steam.pipe ?

(только учти, что после этого в этот контроллер не сможешь забрасывать из других мест)
источник

SS

Sergey Salnikov in Dart & Flutter по-русски
Dmitriy Orteney
Ну у меня например, на андройде, когда юзер смахивает приложение из недавних, т.е. флаттер убивается, стартует форграунд сервис в нативе, который создает FlutterNativeView, в котором вызывается "некая фоновая top-level функция" из дарта. Там уже заного дергается плагин местоположения и продолжается трекинг в фоне
вот, без сервисов вы никакой бэкграунд ворк не сделаете, согласен?

и isBackgroundView скорее плохой нейминг
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
🅵🅾️🆇
steam.pipe ?

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

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
А, тебе 2 стрима соединить.
Так вродеж куча различных методов, которые это делают...
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
может я не правильно вопрос задал, мне надо как то слить stream и ValueNotifier в один поток данных
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
и вообще я бы хотел работать с ValueNotifier как со стримом
источник

DO

Dmitriy Orteney in Dart & Flutter по-русски
Sergey Salnikov
вот, без сервисов вы никакой бэкграунд ворк не сделаете, согласен?

и isBackgroundView скорее плохой нейминг
Ну очевидно, что кто-то должен держать процесс запущенным :D
источник

DK

Danial Kolyasnikov in Dart & Flutter по-русски
Evgenii Elchev
и вообще я бы хотел работать с ValueNotifier как со стримом
Мне кажется, что проще написать обертку для valueNotifier которая будет принимать поток и писать туда данные
источник

SS

Sergey Salnikov in Dart & Flutter по-русски
Dmitriy Orteney
Ну очевидно, что кто-то должен держать процесс запущенным :D
на заметку
huawei, xiaomi и другие китайские деятели убивают сервисы включая foreground если не остаётся task'ов у приложения

на xiaomi работает workaround - стартовать сервис в отдельном процессе, Huawei и эти сервисы мочит
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Danial Kolyasnikov
Мне кажется, что проще написать обертку для valueNotifier которая будет принимать поток и писать туда данные
Написать что то можно конечно. Но мне во первых не надо писать из стрима в нотифаер мне надо реагировать на изменения и нотифаера и потока. Во вторых написать обертку можно. Но мне показалось что работать с нотифаером как с потоком должно быть очень удобно. Может есть какое то решение которое я не вижу
источник

DK

Danial Kolyasnikov in Dart & Flutter по-русски
Evgenii Elchev
Написать что то можно конечно. Но мне во первых не надо писать из стрима в нотифаер мне надо реагировать на изменения и нотифаера и потока. Во вторых написать обертку можно. Но мне показалось что работать с нотифаером как с потоком должно быть очень удобно. Может есть какое то решение которое я не вижу
А зачем если не секрет ? Мне кажется, что это два разных механизма
источник

DK

Danial Kolyasnikov in Dart & Flutter по-русски
И они самодостаточны
источник

RV

Roman Vasiliev in Dart & Flutter по-русски
так он же вроде на геттере/сеттере сделан, вряд ли что-то удобное там есть
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Evgenii Elchev
Написать что то можно конечно. Но мне во первых не надо писать из стрима в нотифаер мне надо реагировать на изменения и нотифаера и потока. Во вторых написать обертку можно. Но мне показалось что работать с нотифаером как с потоком должно быть очень удобно. Может есть какое то решение которое я не вижу
В теории можешь попробывать через method extension присобачить к нему стрим контроллер.
источник