Программирование : Dart & Flutter по-русски
Alexandr Drobyshev
а вот где controlsBuilder попробуйте убрать. context
Alexandr Drobyshev
типа : (BuildContext _,
Alexandr Drobyshev
или другое имя дать BuildContext ctxControl
Alexandr Drobyshev
чтоб ниже в Navigator попала переменная именно с контекстов из build(BuildContext context) от виджета
Alexandr Drobyshev
или просто Navigator.push(this.context, ... если это стейтфул виджет
Alexandr Drobyshev
хотя ну тут же есть в бильдере контекст, значит он должен быть из дерева)
Alexandr Drobyshev
а у вас прям все в куче... тогда из функции build не прокатит, там как раз не будет нужного контекста, вам от навигатора надо, то етсь уже от чайлда materialApp
Alexandr Drobyshev
попробуйте обернуть Stepper в Builder( builder: (BuildContext context) => Stepper(...))
Азат Аллабердин
Ок, попробую
Alexandr Drobyshev
вообще я б вынес прсото старницу в отдельный виджет лучше все что в home: - в отдельный виджет уберите это ж страница, она обычно со Scaffold начинается где можно аппбар указать и поехало дальше))
Азат Аллабердин
Получилось, спасибо
Никита Обрывков
Подскажите, как лучше переходить между экранами. Сейчас у меня первым экран с обращением к firebase (c async), но при переходе на следующий экран, сильная задержка, очень не приятно. Использую Navigator.push
Alexandr Drobyshev
[
"сделал так\n",
{
"type": "code",
"text": "frameBuilder: (context, child, frame, wasSynchronouslyLoaded) {\n return frame == null ? Loader() : child;\n},"
},
"\nна вид все ок вроде"
]
Никита Обрывков
Но в других экранах, у меня нижний бар, и перемещение сделано следующим образом: есть изначально список из 3 классов, и потом body:list[index], при нажатии в методе setState, меняю индекс и всe ок, но насколько это хорошо и правильно, я хз
Alexandr Drobyshev
ну так выполняйте асинхронно код с фаербейз если вам не нужно дождатся ответа преде навигацией
Никита Обрывков
Нужно, переход на другой экран происходит, в случае удачной отправки в firebase
Никита Обрывков
Поэтому в коллбэке я и делаю переход
Alexandr Drobyshev
ну так а чего вы хотите то услышать? вам нельзя прехеодить пока нет ответа, но вы хотите перейти?
Alexandr Drobyshev
раз вам надо ждать ответа то при чем тут навигация вообще? прсото выводите инфу что идет запрос, лоадер крутится пусть или текстом пишите на модеальном окне
Дмитрий Андриянов
[
"Всем привет.\nИспользую этот пакет для видеоплеера:\n",
{
"type": "link",
"text": "https://pub.dev/packages/video_player"
},
"\n\nПри запуске видео из сети все ок, но при использовании из ассетов выдает ошибку.\nЛибо\n",
{
"type": "pre",
"text": "line 111 pos 15: 'code != null': is not true.",
"language": ""
},
"Тут проблема что выбрасывается плеером PlatformException без кода,\nЛибо выдает\n",
{
"type": "pre",
"text": "Source error",
"language": ""
},
"Кто-нибудь сталкивался / знает в чем дело?"
]
Alexandr Drobyshev
[
"гуглили?\n",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/66627"
},
""
]
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/68314"
}
]
Никита Обрывков
ох,спасибо большое,вы полностью правы,как я сам до этого не додумался...голова уже кругом,ваш ответ помог мне ещё одну проблему решить,спасибо)
Дмитрий Андриянов
Да. Не помогло. Но мб я что-то упустил.
Дмитрий Андриянов
Помог откат на 1.20.1 и также плагин 0.10.11+1. Пришлось использовать fvm чтобы не сломать другие проекты. Благодарю.
Daniil Kostin
У меня стоит вызов тегов на билде ключивых экранов, говнокод - но работет
Sergey Hottabych
Ну это ппц система это у тебя при каждом ребилде будет отсылаться событие
Sergey Hottabych
Если хочешь 1 раз при заходе на экран из build отослать событие — подключи flutter_hooks и добавь это в useEffect (и не забудь ключ поставить что-нибудь вроде [null], чтобы хук повторно не вызывался).
Sergey Hottabych
Или просто в initState отсылай.
Daniil Kostin
тоже вариант, но у меня на основных экранах они билдятся только при попадании на них и по ТЗ так и надо, считать сколько раз пользователь возвращался на экран
Sergey Hottabych
Билд может срабатывать не только при попадании на экран, а в самые неожиданные моменты (смена ориентации девайса, свернуть-развернуть апп, и еще миллион причин). И у тебя будут ложные срабатывания.
Sergey Miroshin
Доброго вечера. Раз в секунду мне надо опрашивать сервер об изменениях. Как мне сделать такое?
Sergey Miroshin
то есть раз в секунду, пока приложение запущено, запрашивать опрашивать апиху
Alexandr Drobyshev
Сделайте на вебсокетах
Дмитрий Щербаков
Лучше на сокетах сделать имхо чем дудосить сервак и сажать батарею
Alexandr Drobyshev
И не надо мучать сервер и трафик клиента
Дмитрий Щербаков
Блин не успел)
Дмитрий Щербаков
А так есть пакет connectivity можно посмотреть как в нем реализовано
Sergey Miroshin
Ага, спасибо. Попробую
Alexandr Drobyshev
я думал коннективити не пингует интретнет а проверяет соединение подключены ли мобильные данные или вайфай
know-it-all
любое переодическое действие - через Timer
Sergey Miroshin
Да, это тоже нашел, спасибо
John Travolta
[
"У кого-то была такая ошибка в vscode на винде 10 при запуске эмулятора?\n",
{
"type": "code",
"text": "Failed to launch Pixel 4 XL API 30: Error: Emulator didn't connect within 60 seconds"
},
"\n\n",
{
"type": "code",
"text": "flutter doctor"
},
" выдает такое сообщение\n",
{
"type": "pre",
"text": "[!] Connected device\n ! Device emulator-5554 is offline.",
"language": ""
},
"\n\nВчера еще все было отлично, тут внезапно это появилось"
]
Дмитрий Щербаков
Других виртуалок / эмуляторов нет на компе?
Дмитрий Щербаков
У меня из за hyper-v так было
John Travolta
не, уже перезагружал комп, все отключено
John Travolta
о, внезапно в андроид студио запустилось, а вскоде нет, фиг пойми вообще до этого и андроид студио не работал
Никита Обрывков
такое случается,ошибки в работе эмулятора,обычно стоит удалить эмулятор и сделать новый,но иногда перезапуск студии помогает,или через adb убить эмулятор
John Travolta
да, вот убивал через adb, не помогало, убивал эмулятор, создавал новый, не помогало, перезапускал и вскод и андроид студио и комп, не помогало, потом раз запустил в андроид студио, не работало, второй раз и вдруг запустилось
Никита Обрывков
Доброе утро, подскажите, это вот что? Не могу понять суть проблемы, но ошибка вылезла в месте, которое раньше исправно работало
Мirshod
Здесь сказано что нужно поставить Material App.
Илья Маненков
Ребят как можно сделать так что бы при переходе назад через Navigator.pop(context) вернувшись назад на этой странице снова отработал initState
Пашка
что то вы делаете не правильно
Anatoliy Razumov
Никак, он отрабатывает один раз при создании страницы
Илья Маненков
Хорошо мне нужно что бы снова отработал build , и страница перерисовалась
Илья Маненков
Это как сделать?
Anatoliy Razumov
setState
Мirshod
Используй provider
Шахзод Джураев
По дефолту при pop предыдущая страница обновляется т.е вызывается build , если вы используете дефолтные materialpageroute или Cupertino.. попробуйте использовать didchangedependencies
Илья Маненков
Ставлю точку отсановы на build , при navigator.pop точка остановы не срабатывает
Шахзод Джураев
Если у Вас pageroutebuilder то там нужно opaque установить false
Шахзод Джураев
?? у меня была проблема наоборот , когда она срабатывала при каждом pop
Шахзод Джураев
Даже didChangeDependencies вызывался каждый раз
Илья Маненков
Возможно разница в stflw stless
Шахзод Джураев
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/58951312/flutter-how-to-refresh-the-last-page-state-on-navigator-pop"
}
]
Daniil Kostin
Меня всегда поражают такие вопросы. Как вы предполагаете я или кто-то другой должен вам ответить? Вот вам пример моего такого же вопроса. У меня есть загрузчик очереди видео и когда показывается прогресс, то после перехода в состояние скачано показавается на секунду состояние ожидания загрузки. Что мне надо поменять чтобы оно заработало без этого промежуточного элемента?
Andrew Shalaev
так пусть вводят в произвольном формате, зачем за пользователя что-то решать? Или у вас там эффективные UX дизайнеры от бога?
Vyacheslav
вам нужно вместо состояния ожидания загрузки показать "полный" прогрессбар))
Daniil Kostin
Одни телепаты в чате... Может вы мне еще подскажете как переделать загрузчик в асинхронный с поддержкой множестава файлов для одного скачиваемого урока?
Andry
Подскажите как так?
Юджин Баладжахе
[
"Не, я про вайфай директ, там сложное апи, пакет не работает и заброшен.\n",
{
"type": "link",
"text": "https://pub.dev/packages/flutter_p2p"
},
""
]
Alexandr Drobyshev
я хз шо такое директ) я на машинке запускал режим сервер и конектился к нему
Никита Обрывков
файл rubspec.yaml раздел dependencies насколько сильно эти зависимости влияют на размер апк,а то у меня 100мб вышло,и я чутка в шоке
Bekzod Madiyorov
Добрый день ребята У меня вопрос Можно ли компилировать приложения Flutter для iOS без MacBook
vasilich
Вируалка, кодемеджик
Roman Cinis
В дебаг или в релиз сборке?
Anatoliy Dvoryashin
на windows & Linux нет. 1 Собрать хакинтонш 2 Виртуалка(боль полная) 3 аренда мака удалено 4 Если не ошибаюсь то CodeMagic
Bekzod Madiyorov
Как можно реализовать
Roman Cinis
Так это нормально. Попробуйте релиз и split-per-abi
Bekzod Madiyorov
Значит MacBook не требуется да
Никита Обрывков
спасибо,ещё я один совет на просторах инета нашёл,до 40мб скинул,запомню ваши слова,и думаю норм будет)
Anatoliy Dvoryashin
мною было замечено что могут быть приколы всякие работы на ios, на андроиде все ок а на айфоне потом прилетит прикол
Oleg
Всем привет! Подскажите пожалуйста, кто-то сталкивался с трансляцией стрима с помощью rtmp ? Я сейчас пытаюсь сделать трансляцию с помощью camera_with_rtmp, но есть несколько вопросов Возможно ли переключать переднюю и заднюю камеры без остановки стрима ? Сейчас оно просто прерывает стрим и нужно запускать заново Возможно есть библиотеки получше этой, буду благодарен за любой пример или совет
Семён undefined
всем привет, скажите пожалуйста, появился ли способ делать пуши на фоне без firebase? для примера: если человек делает клиент вконтакте или телеграм, он же не сможет юзать firebase, верно? как в таком случае поступать?
Roman Vasiliev
Оффлайн пуши, что?
Семён undefined
имел ввиду на фоне держать
Даниил Левицкий
Ну вообще большие проекты тоже юзают фаербейз
Даниил Левицкий
Если делать свой бекграунд сервис в андроиде, это оч сложно, его будет постоянно глушить и все такое
Даниил Левицкий
нужно и пользователей энергоемкость выставлять ручную приле
Даниил Левицкий
Причем всякие такие пуш системы, которые типа не фаербейз
Даниил Левицкий
под коробкой тоже имеют фаербейз, просто допиленный)
Даниил Левицкий
Ну всмысле они напрямую обращаются к фаербейзу, просто апишку по удобнее дают
Sergey Miroshin
Доброго дня. Есть Padding -> Column -> Material Button Как убрать отступ у кнопки справа?
Евгений Левенцов
может обрасть тапа мешает..? materialTapTargetSize: MaterialTapTargetSize.shrinkWrap
Alexandr Drobyshev
подскажите, на маке я ветку меняю и обнволяю прям в командной тсроке, я постаивл андриод студию там же в терминале пишу flutter ... и все
Alexandr Drobyshev
на виндовсе так же будет?)
Alexandr Drobyshev
то естьв от мне предлагают ща архив скачать, мне надо ток ради десктоп версии, мне надо ставить альфа версию сдк с десктоп бильдингом
Alexandr Drobyshev
а предлагает скачать архив стейбл)
Валерий
через гит ставил и на винду , между ветками нормально переключался
Константин Бобров
гит просто установлен должен быть вроде как. Архив просто скачал с сайта. Так тоже норм через ветки скачет
Даниил Левицкий
Какой архив и десктоп версия чего?
Alexandr Drobyshev
архив flutter sdk
Даниил Левицкий
Ну на маке ты же тоже flutter поставил
Alexandr Drobyshev
спасибо) значит качаю) раз норм
Даниил Левицкий
Если хочешь тру вей
Даниил Левицкий
ставь dart-sdk просто
Alexandr Drobyshev
я на маке не помню как ставил, больше года рпошло
Даниил Левицкий
с помощью нее ставь fvm
Даниил Левицкий
и потом fvm пользуйся
Даниил Левицкий
облегчит жизнь в будущем
Alexandr Drobyshev
мне на винде не надо не чо кроме дестктоп
Alexandr Drobyshev
я не могу этим гавном пользоватся
Alexandr Drobyshev
мне надо 1 проли сдлеать только
Alexandr Drobyshev
1 кнаопка которая файлы преберет и переименует
Alexandr Drobyshev
и я забуду про виндовс))
Даниил Левицкий
Ну fvm поставить не очень то и сложно)
Даниил Левицкий
Каждый программист так втыкает костыль
Даниил Левицкий
А потом 3 года его поддерживает))
Alexandr Drobyshev
эту прилу не надо подерживать)
Alexandr Drobyshev
единоразово преименовать)
Alexandr Drobyshev
я на пхп сделал
Alexandr Drobyshev
но с консоли чел не может ))
Alexandr Drobyshev
хочет кнпоку обзор))
Даниил Левицкий
ну типа зачем десктоп для этого)
Даниил Левицкий
ну и ради одной кнопки я бы даже flutter-web не тащил на самом деле
Alexandr Drobyshev
почему веб? я десктоп чекнуть хочу
Alexandr Drobyshev
но ен сомгу не чо
Alexandr Drobyshev
у меня на диске С свободно 4 гб всего
Alexandr Drobyshev
а стуия визуал весит пишет 27 гб
Temurxon
всем привет может кто скинуть flutter app repository с использованием bloc на github ?
Alexandr Drobyshev
можнов ыбрать чатсь на другой диск но оснвноная написанона С должна быть(( а это 18+ гб
Anton Kowalski
ошибка firebase - [core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp() делал по доке
Anton Kowalski
Че за фигня?
Anton Kowalski
у кого то была такая ошибка?
Даниил Левицкий
у меня только в облаке терабайт )
Даниил Левицкий
я к тому, что
Alexandr Drobyshev
та я 7 лет не юзал виндовс
Даниил Левицкий
если клиенту нужно нажать кнопку, для этого проще использовать веб
Alexandr Drobyshev
я ненавижу его это не удобно и вечно геморой
Даниил Левицкий
он мультиплатформенный и быстрее поулчит доступ)
Alexandr Drobyshev
мне нафиг не надо было то место
Alexandr Drobyshev
какой веб? как он с веба получит доступ к файлам? там надо файлы открыть, найти адреса, по адресам инфу и сделать ренейм файлов
Даниил Левицкий
Ну файлы на серваке будут)
Даниил Левицкий
ну конечно если это задача типа переименовать пачку файлов локально на компе, то да
Даниил Левицкий
Тут можно и десктоп сделать
Anton Kowalski
await Firebase.initializeApp();
Даниил Левицкий
Да хз, я конечно на маке ща работаю, но пока 16шки не появилось это было мучение с перегревом. А по юз кейсам, шо там Android Studio/любая другая IDE, шо там
Даниил Левицкий
При этом на винде за сущие копейки можно собрать серверный проц на 12 ядер, терабайт ссд и 64 гб оперативы)
Shurik
Добрый день, подскажите пожалуйста, я описал контейнер точнее его визуализацию и внутри него есть 3 поля, мне нужно вызвать 5 таких контейнеров, но значения во всех будет разное, можно ли сделать что бы контейнер или виджет принимал параметры, когда его вызываешь? Подскажите пожалуйста.
Dima Kut’ko
Вынеси его в функцию Widget _buildItem(String name){ return Container(child: const Text(name),); } P.S. Сорян за разметку писал с телефона )
Shurik
Примерно понял, спасибо большое) Хорошего дня!
Никита Обрывков
кто-нибудь может посоветовать что-либо,источники,пакеты,для создания SplashScreen из 3 экранов,с индикатором внизу,показывающим позицию/номер
Никита Обрывков
а то ищу,и да,нахожу что-то,но всё не то
Дмитрий Щербаков
Я крч пытался 3 раза хакинтош накатить на ryzen7 3700x чипсет x470,видюха 5700xt и все никак. Вероятно дело в моих кривых руках а может в кривых кекстах а может ещё в чем хз, но я щас больше склоняюсь к тому чтобы тупо сотку ещё потратить и взять тупо макпук под билды
Дмитрий Щербаков
Потому что время которое я потратил на эту херобору тоже денег стоит))
Евгений Лабутин
макмини идеально для билдов подходят
Евгений Лабутин
главное что бы на ssd был
Дмитрий Щербаков
Ну ссд щас уже аксиома )
Дмитрий Щербаков
Прост цены смотрю
Дмитрий Щербаков
120-140к за ноут который мне нужен пару раз в месяц пздц
Дмитрий Щербаков
У меня комп блин в 120 вышел вместе с 2 мониторами
Дмитрий Щербаков
Ебаный эпл крч (крик души)
Валерий
Поддерживаю. Но я всё же разжился макбуком, с хакинтошем так и не сложилось)
Валерий
Теперь комп стоит без дела)
Дмитрий Щербаков
Как может комп без дела стоять там например куча виртуалок с кучей инстансов кучи проектов как этотвсе ноут потянет я хз)
Дмитрий Щербаков
Ну и поиграть ещё жи есть ??
Алексей Александрович
ставишь в ноут 32 гига оперативной памяти, и всё тянется
Дмитрий Щербаков
Вот вчера конвертацию бд запустил и 3 часа шпилил в киберпанк пока ждал ??
Vladislav [object Object]
Нативно пилить
Валерий
Прошка i7 2.9, 16 ram, 1tb ssd норм тянет)
Vladislav [object Object]
[
{
"type": "link",
"text": "https://flutter.dev/docs/development/ui/advanced/splash-screen"
}
]
Дмитрий Щербаков
Ну хз когда виртуалки тока 15-18 отжирают )
Никита Обрывков
идея та хорошая,на андроид нативно сделаю без всяких проблем,но ios......
Vladislav [object Object]
Нет доступности к хкоду?
Никита Обрывков
и со swift знаком поверхностно,и протестить не смогу что получилось в итоге
Vladislav [object Object]
Я без сфифта сделал симпотный сплешскрин
Vladislav [object Object]
Покажи свой сплеш скрин
Vladislav [object Object]
Если можешь) (вдруг там nda и тд)
Anton Kowalski
Так в чем проблема может быть?
Vladislav [object Object]
Была такая же проблема на js, Обернул firebase.initializeApp() в if !firebase.apps.length
Даниил Левицкий
Ну я таким не занимался)
Даниил Левицкий
Под виндой писал под андроид + веб и потом тестил на маке прост айос
Anton Kowalski
точно также
Даниил Левицкий
При этом буквально за день все пофиксил в айосе
Никита Обрывков
так вот у меня и нет его,но есть одна идея,но тогда вопрос с анимацией индикатора и его переключение,а с этим я вообще ни как и ни где на flutter'e
Дмитрий Щербаков
Ну я брал с расчетом "сэкономить" ??
Даниил Левицкий
Ну и я фан xeon-ов, там вроде не сложно
Даниил Левицкий
А зачем люди вообще виртуалки кста используют?
Даниил Левицкий
Или это имеется в виду докер контейнер просто
Дмитрий Щербаков
Для тестирования / эмулирования/ моделирования
Даниил Левицкий
Типа ну пару тройку баз развернуть в докерах и внешних систем ок, но полноценные виртуалки не особо понимаю
Даниил Левицкий
Ну с другой стороны андроид-эмулятор тоже виртуалка)
Дмитрий Щербаков
Нене, именно тебе нужно сделать напрмер модель трехвенку классическую
Дмитрий Щербаков
Где бд сервер приложений и веб
|