Программирование : Dart & Flutter по-русски
Andrey
ребята, try/catch в тестах использовать нормально?
Nikita Domnitskii
Я вообще к тому что у них не было дарта не бэке
Nikita Domnitskii
Зачем только
Andrey
ну мне нужно из exception данные чекнуть, точнее из DioError Response
Кирилл Матросов
[
{
"type": "mention",
"text": "@bunopus"
},
" вас не беспокоит что ангулярдарт не обновляется и не релизится?"
]
Nikita Domnitskii
[
{
"type": "code",
"text": "throwsA"
},
" матчер принимает же"
]
Andrey
да ты не понял, то, что он ошибку выбрасывает я именно так и сделал, но потом мне нужно проверить, что в этой ошибке значение соответствует ожидаемому
Evgeny Kot
[
"Очень беспокоит. Но есть звоночки, что все будет норм ",
{
"type": "link",
"text": "https://github.com/dart-lang/angular/issues/1866"
},
""
]
Andrey
Dio выбрасывает исключения при статус коде >= 400, соответственно, оттуда надо message вытянуть и показать юзеру
Nikita Domnitskii
[
"Ну так что-нибудь вроде \n",
{
"type": "pre",
"text": "expect(failure, throwsA(isA ());\nexpect(failure, throwsA(MatcherCheckingForErrorValue()));",
"language": ""
},
" нельзя сделать?"
]
Andrey
ну то есть создать matcher?
?
Вопрос немного не в тему, но MQTT позволяет серверу только получать сообщения от клиентов, или сервер так же может отправлять сообщения клиентам?
Nikita Domnitskii
Как вариант
Nikita Domnitskii
Но может уже есть какой-нибудь для твоих нужд
???????
Брокеры в целом делают и то и то.
Temirlan Kuralbaev
Salam vsem. Kak ya mogu otpravit push notification (fcm) po id ?
???????
То что только получает и складывает - это называется интеграционная шина предприятия, ну или от части можно приурочить это к data lake
Temirlan Kuralbaev
Concretnomu useru ili ustroistvu
Artur
Сначала получаешь токен юзера, хранишь в базе данных. При отправке сообщения вынимаешь конкретный токен из бд и отправляешь на него уведомление
Artur
Гугли по getToken()
Artur
Либо onTokenChange перезаписываешь его в базе
IB Akhrorov
Добрый день Какой плагин порекомендуете для background service+notification
Artur
Получаешь id устройства и сопоставляешь с токеном
Artur
Это если хранить только последний id
Artur
Нет, я предлагаю хранить все устройства
Artur
Разные бывают ситуации и мотивы, хорошо иметь выбор)
Кирилл Матросов
Мне кажется, что в данном ишью нет звоночков, что все будет хорошо. Люди: АнгулярДарт, мы любим тебя. Мы вложились в тебя много-много Представитель Гугл: Мы хотим делать, мы ищем возможности и ресурсы, но не все и сразу. + Глобально в мире не все так хорошо
Artur
Я делаю удаление токена при выходе из аккаунта
Evgeny Kot
У меня нет четкого ответа. Пока у Гугла довольно много чего написано на angulardart. Но с другой стороны очевидно что flutter забирает на себя очень много ресурсов. Вряд ли google будет сильно вкладываться в angulardart в будущем. Что будет дальше никто не знает
IB Akhrorov
[
{
"type": "pre",
"text": "There is no way to increase the rate which a fetch-event occurs on iOS and this plugin sets the rate to the most frequent possible — you will never receive an event faster than 15 minutes. The operating-system will automatically throttle the rate the background-fetch events occur based upon usage patterns. Eg: if user hasn't turned on their phone for a long period of time, fetch events will occur less frequently.",
"language": ""
},
" \nis it true?"
]
Konstantin Kokorin
Ну да, ну да.
Олжас Сулеймен
это теперь зеркало, которое будет синхронизироватся с внутренней репой, там пул висит большой
Cole
[
"какой самый простой виджет, чтобы имел и ",
{
"type": "code",
"text": "decoration"
},
" и ",
{
"type": "code",
"text": "elevation"
},
"?"
]
Artur
Card в Container???
Nikita Domnitskii
[
{
"type": "code",
"text": "CustomPaint"
},
")))0)))00"
]
Temirlan Kuralbaev
Est tutorial. Prosto ya ne znayu kuda hranit token ili ka firebase uznaet moi device )
Artur
храни в Firestore, например
Artur
при запуске устройство получает токен и скидывает его в Firestore
Artur
какую-то БД ты же используешь, раз тебе уведомления нужны
Temirlan Kuralbaev
u menya est sqlite. Notiication otprovlyaet back(laravel) , kak ya mogu poluchit token device chto-by on mog otpravit concretno mne. Seichas on prihodyat vsem ustroistvam
Artur
при запуске устройство получает токен и скидывает его в твой back, который должен его где то хранить и отправлять на него уведомление когда это нужно
Mitai
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=XjQ911lcHjo"
}
]
4??uzhoy .
как правильно исключить генеренный код из анализатора ?
Nikita Domnitskii
ждать 2.9 скорее всего
4??uzhoy .
а можно список варнингов разом исправить ? к примеру ругается что нету фигурных скобок в ифах, взять и во всех ифах добавить { }
Dmitriy Orteney
exclude же работает, пробовал перезаходить в студию?)
4??uzhoy .
не, но вроде как достаточно анализатор перезапустить
Artur
Можно сделать кастомные настройки для анализатора, чтобы не ругался, сейчас уже не помню, погугли
4??uzhoy .
ну так я это и делаю же
Cole
[
"хм сейчас анимация в 35 фпс играла. запустил в ",
{
"type": "code",
"text": "—release"
},
" конфигурации и стало гладко играть. но профайлер отвалился. как фпс мерить в аппе без профайлера?"
]
Sergey Hottabych
В дарте ты можешь писать методы прямо в корень dart-файла, необязательно в класс оборачивать. Например, класс db_helper.dart с методами get(), insert(), delete() А потом импортить 'package:greatplaces/helpers/db_helper.dart' as db; И вызывать метод: db.insert(42); (благодаря префиксу db, будет понятно, что это insert в базу данных, а не просто какой-то insert)
Nikita Domnitskii
Запускать в профайле
Anatoly Politsin
Подскажите - какую либу можно использовать для mqtt клиента для последней версии SDK?
Андрей Козак
[
"Sqlite локальное хранение на устройстве. Это не то. Обычно это делаешься так\n\nБерешь Postgres,Mysql, MSsql или еще чо нить\n\nДелаешь две таблицы\n\nTable:Devices:\n\ninstall_id:VARCHAR\n\ncloud_id:VARCHAR\n\nuserId:foreignKey ",
{
"type": "link",
"text": "Users.id"
},
"\n\nTable:Users\nId\nFio\n...\n\nПишешь бекенд, который в эти таблицы пишет\nНа мобилке:\n\nПри первом старте мобилы генерируешь install_id каким нить uuid пакетом. Записываешь его в постоянное хранилище\nПолучаешь токен Firebase (или APNS) шлешь его бекенду вместе с install_id\nБекенд пихает в базу\n\nПри авторизации пользователя внутри приложения, передаешь install_id. Дописываешь на бекенде чтобы при авторизации искалась запись в devices с данным install_id и дописываешь в строку с устройством user_id\n\nВ итоге у тебя в базе есть связанный облачный токен с пользователем\n\nПотом если у тебя на бекенде что то происходит, выгребаешь по пользователю все записи таблицы devices и шлешь запросы в облако на отправку пуша (на всех языках есть готовые библиотеки для отправки)"
]
Evgeny Cherkasov
клиенты же подписываются на топики если какой то клиент изменил значение в топике, то остальные кто подписан его автоматически получат
Evgeny Cherkasov
[
"ну вот либа для mqtt ",
{
"type": "link",
"text": "https://pub.dev/packages/mqtt_client"
},
" \nона что не работает с последней версией SDK? (кстати какая SDK имеется в виду?)"
]
Temirlan Kuralbaev
ooo tema ????. Spasibo
Anatoly Politsin
[
"Ну я первый день с дартом =)\nОткрыл какой-то хелп вроде не очень старый на медиуме, стал идти по шагам, добавил зависимость ",
{
"type": "code",
"text": "mqtt: \"^1.1.0\""
},
" - получил ",
{
"type": "code",
"text": "version solving failed"
},
" - пришёл уточнить\n\nСпасибо!"
]
Cole
[
"вот код бордера:\n",
{
"type": "pre",
"text": "dart\ndecoration: BoxDecoration(\n border: Border(bottom: BorderSide(width: 1.0, color: Color(0xFF8b969c))),\n shape: BoxShape.rectangle,\n),",
"language": ""
},
"\nа вот как выглядит:"
]
Cole
почему вокруг бордера есть еще две полоски полупрозрачные?
Shakhzod
может это видеокарта так на монитор выводит… на 4к монике пробовали?
Cole
это с эмулятора телефона в высоком разрешении
Алдияр Сахан
Всем привет, Как можно соединить таблица firebase. Примерно как ManyToMany?
Yaroslav
Всем привет. В чем может быть проблема, подсажите плиз. Есть class SomeProvider with ChangeNotifier{….} и когда я в виджете делаю final _provider = Provider.of (context); у меня все крашится с ошибкой could not find the correct provider
Evgeny Cherkasov
А SomeProvider был до этого в дерево положен?
Yaroslav
Нет, и я кажется уже это понял)
Socrat
да используй например MultiProvider
Cole
у аппа который я пытаюсь копировать вот такой border в 3 пикселя, идеально одного цвета
Cole
[
{
"type": "pre",
"text": "BorderSide(width: 0.75, color: Color(0xaa849da9), style: BorderStyle.solid))",
"language": ""
}
]
Shakhzod
плотность пикселей у вас 72
Dmitriy Orteney
Ну так Color(0xaa849da9) и есть полупрозрачный)
Cole
точнее изначально я 0xff... цвет юзал
Cole
и все равно полупрозрачность
Cole
не понял, что сделать?
Shakhzod
на девайсе попробуйте
Cole
оба скрина с девайса
Cole
походу неотключаемый алайсинг бордеров в флаттере
john conor ?
может и отключаемый, надо читать исходник
vasilich
[
"Наш первый митап по Flutter вот вот начнется - присоединяйтесь!\n",
{
"type": "link",
"text": "https://www.youtube.com/watch?v=Wz-UYq6mU-s"
},
""
]
Игорь
всем привет, как мне сохранить текущие значение переменной на момент добавление виджета в список, я получаю самое последние состояние переменной при клике.
tdesc
обожаю while ( true )
tdesc
сразу видно виджет )
tdesc
реактивное программирование, блок, стримбилдер
Игорь
что так сложно, закешировать её никуда нелья ни в какой виджет ?
tdesc
есть правило отделения мух от котлет
tdesc
что сложно подготовить данные, сделать массив, срендерить его
tdesc
останется только выделить бизнес логику в Bloc и через stream сливать ее в Presentation
tdesc
map или не мап зависит от задачи, остальное не зависит
IB Akhrorov
хотя bloc тоже стрим)
tdesc
блок это бизнес логика
Семён undefined
рефлексия в дарте вообще когда-нибудь будет?
Семён undefined
да да, была
Nikita Domnitskii
Это дарт или лисп, не понимаю?
Семён undefined
с чего бы?
tdesc
кажется когда то был issue где разработчики дарт хотели узнать кому и зачем нужна рефлексия на телефоне
Nikita Domnitskii
,,,,,,,,,,,,,,,,,,,, на, пользуйся
Семён undefined
json нормальный, не?
IB Akhrorov
но основан на стримах\
???????
Ну скорее разделитель между бизнес логикой и вью)
???????
Но так, в целом, да)
???????
Была, в aot (релизе) рефлексии нет. Поэтому и во флатере в целом нет.
???????
Во многих задачах её заменяет кодогенерация
???????
Да не во всех, но многих.
Семён undefined
ну мне друзья-шарписты уже просто мозг вынесли этим
Семён undefined
но спасибо за аргумент
???????
Ну крайне редки случаи когда это стоит использовать вместо кодогенерации
???????
Мне тоже не хватает, предпочел бы, чтоб была
???????
Но точно не жертвой dart2native и скоростью выполнения в релизе
???????
а это именно та цена
???????
Еще раз напоминаю) Не филонить, вкладываем в дальнейшее развитие)
???????
[
{
"type": "link",
"text": "https://google.qualtrics.com/jfe/form/SV_5oNFjVJWGRECS3z"
},
"\n\nВсе проходим Q2 опрос ??"
]
tdesc
я что не могу написать класс с массивом внутри и геттером? )
IB Akhrorov
но это от вас зависить))
tdesc
за его наполнение и функции отвечает разработчик
tdesc
главное что он отделяется от presentation
tdesc
и желательно от источника данных
Павел
в xcode 11.5 ничего не поломали? кто-то уже собирал?
Oleg Pchelkin
Ну так сам написал что это бизнес логика))
Oleg Pchelkin
И скорее это шаблон, а не класс) который под собой подразумевает стрим
Юнус
что лучше передача файлов или передача фото PTP?
Oleg Pchelkin
Паттерном блок. Или вы тут не об этом?
Oleg Pchelkin
Или я ошибаюсь в самом паттерне?
tdesc
в с++ я такого паттерна не встречал, but who knows?
Oleg Pchelkin
Значит не так тебя понял) мы ж тут про флаттер, Гугл пушит паттерн BLoC(хоть и без инструкций как его готовить, но это уже другая тема), что типа в виджет все входы и выходы должны быть потоками, а не просто какими то кусами данных. Потому и писали про потоки..
tdesc
блин ну такой себе «паттерн»
tdesc
синглтон или factory тоже «я так вижу» можно описать?
Oleg Pchelkin
Не, там есть структура, на пабдеве даже есть обертка для этого шаблона, с готовкой сейчас проблем нету)
Oleg Pchelkin
Но цель - вынести в этот блок взаимодействие с БД, менеджерами и всю остальную бизнес логику, а с виджетов кидать только ивенты в блок
tdesc
если уже много лет есть рх, что нового добавил «блок» кроме залипающего и путающего новичков названия?
Oleg Pchelkin
В блоке уже обрабатывать обновление данных и кидать их в потоке в виджет
Oleg Pchelkin
рх для новичков не менее пугающ
tdesc
но он хотя бы реален. блок просто фантазия каждого 2 флаттер разработчика
tdesc
велосипед со стримом
tdesc
когда блоков становится много....
Oleg Pchelkin
При этом чем рх лучше блока - также непонятно, ибо реактивщина готовится на тех же стримах)
tdesc
она задокументирована
tdesc
и программер рхjava поймет любой рх в принципе
tdesc
это стандарт в проф сообществе
Oleg Pchelkin
рх то хорошо - но все равно его соединять с виджетами нужно, и делать это либо через можно разными способами. В том числе через блок)
tdesc
да но блок не заменяет архитектуры
Oleg Pchelkin
На каждой платформе есть свои излюбленные шаблоны соединения вью и логики, так почему бы не использовать блок для флаттера
tdesc
прослойка до виджетов не более
Oleg Pchelkin
так а ктоо об этом хоть слово сказал?
Oleg Pchelkin
ну так я об этом и говорю
tdesc
это общепринятое заблуждение, особенно при наличии таких чудо библиотек как блок от феникса или кто там
tdesc
их помоему штук 10 разных можно набрать
Oleg Pchelkin
ну писать всю БЛ в блоке довольно странно, не? но связка между виджетом и БЛ довольно таки хорошая, не знаю чего ты так в штыки воспринимаешь)
tdesc
я вот делаю блоки миксинами иногда
tdesc
и ничего больше не надо
Oleg Pchelkin
Я не из веб мира, никогда не понимал прикола миксинов когда смотрел на веб разработку) В чем их преимущество перед обычной структурой, когда есть просто отдельные классы?
tdesc
пример приведу как я использую.
tdesc
есть телеграмм, у него есть каналы. хочется иметь блок под канал
tdesc
но он мне нужен и в списке каналов, чтобы вытащить последний мессадж. в самом чате отображать состояние канала и на странице канала.
tdesc
я просто миксую блок к ChannelRowItem, ChannelRoom, ChannelPage
tdesc
понадобится где то еще subscribe/dispose и можно пользоваться
Игорь Кравченко
Привет, почему картинки для firebase_messaging могут не приходить в ios? ( на android все ок) ? у кого-то работает?
tdesc
если блоки не надо инжектить то отлично работает
tdesc
я помню были проблемы с пушами изза отличий в «параметрах» для разных платформ
Игорь Кравченко
я из консоли отправляю
tdesc
дляа айос какие то еще параметры хотело
Игорь Кравченко
к приложении все ок- как по канонам получаю все данные, а просто push при не запущенном приложении не показывает картинку
tdesc
и формат картинок какой
tdesc
ну похоже на проблему с форматом пуша
Игорь Кравченко
[
{
"type": "link",
"text": "https://is5-ssl.mzstatic.com/image/thumb/Music123/v4/a3/16/82/a316828c-d55b-1b14-aa9d-9b531957b481/9120008861340_3000.jpg/800x800bb.jpeg"
}
]
Игорь Кравченко
[
{
"type": "code",
"text": "{google.c.sender.id: 831947661150, google.c.a.e: 1, google.c.a.c_l: Ego Drivel, aps: {alert: {title: Hi,telegramm, body:dart&flutter }, mutable-content: 1}, gcm.n.e: 1, google.c.a.c_id: 6540517340175195922, contentAvaliable: true, fcm_options: {image: https://is5-ssl.mzstatic.com/image/thumb/Music123/v4/a3/16/82/a316828c-d55b-1b14-aa9d-9b531957b481/9120008861340_3000.jpg/800x800bb.jpeg}, google.c.a.udt: 0, google.c.a.ts: 1590085337, gcm.message_id: 1590085337571875}"
}
]
tdesc
тут нужны айосники )
tdesc
одна из немногих вещей почему еще у нативщиков есть работа
Alexander Voronov
Подскажите пожалуйста, почему Android Studio может не подсвечивать синтаксис dart в конкретном файле?
Alexander Voronov
В других ок подсвечивает
Артем Терещук
Ребят работали с vibrate method ? норм работает ?
Evgeny Cherkasov
Не сказал бы что Гугл пушит блок
atyourservice
File -> Invalidate caches / Restart
Alexander Voronov
После рестарта ничего не изменилось :с
Igor Kusoff
Ахах))) орнул, как это знакомо)
Sasha Komanov
Добрый вечер. Кто нибудь знает что либо об этой платформе?
Sasha Komanov
[
{
"type": "link",
"text": "https://skill-branch.ru/flutter?utm_source=mamprog-21-05"
}
]
Dan
перезапустить студию, удалить файл и создать заново пробовал?
atyourservice
Инвалидейт кэшес сделал? Если да, сделай ещё раз
Alexander Voronov
Пробовал, безуспешно, если сменить название файла - подсветка появляется
Alexander Voronov
Трижды уже (
atyourservice
Ну, я попытался
|