Программирование : Dart & Flutter по-русски
Vladislav Zakharchenko
Нет, не надо
Stanislav Ilin
Всем привет. Насколько сложно сделать отправку сообщений из firebase по топику. И нужно заранее знать какие топики будут в текущей версии приложения ?
Vladimir Ivanov
нет, не нужно
Vladimir Ivanov
и там топик это же просто параметр
Stanislav Ilin
Разве не нужно с девайса подписываться на топик сначала ?
Vladimir Ivanov
насколько я помню, нет
Stanislav Ilin
Окей, а как тогда потом уведомления находят устройства по топикам ? Сори, что тупые вопросы задаю. Времени мало, чтоб разобраться.
Vladimir Ivanov
устройство подписывается на топик
Vladimir Ivanov
с этого момента что в топик попадет, придет на устройство
Stanislav Ilin
Спасибо. И топики нужно заранее создавать в фаирбейс ?
Sapar Jumabekov
например: подписываешь всех пользователей в групповом чате на топик id рума, и при отправке сообщения в этой группе, отправляешь пуш на id этого рума. фо флатере это не делал, только неделю как учу) в свифте легко это делать
Sapar Jumabekov
создавать ничего не надо
Stanislav Ilin
Огромное спасибо. Т.е. если у меня пользователь создаст какой-то топик, то потом я смогу увидеть этот топик в консоли и самописное уведомления делать ?
Vladimir Ivanov
топик сам создается , когда вы начинаете туда писать
Sapar Jumabekov
давай в лс
Никита Масев
у нас platform views работают начиная с API 20?
Никита Масев
то есть вебвью на android 4.3 например запустить не получится?
Anton Anokhin
[
"ссылка на событие в Фейсбуке ",
{
"type": "link",
"text": "https://www.facebook.com/events/2579524625694131/?active_tab=discussion"
},
""
]
Kirill Aparin
можно ведь кастомизировать вот так карты?
vasilich
Хочется только спросить - а зачем... Как будто бизнес велью покраска даст... Ну то такое, мысли в слух. Заказчик хачит, дев кодит)
Kirill Aparin
[
{
"type": "pre",
"text": "Заказчик хачит, дев кодит)",
"language": ""
},
"\nИменно"
]
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/nzoB2jtD9Vg"
}
]
Kirill Aparin
Что за слова
vasilich
Дарк мод опен стрит мапсов
Kirill Aparin
Понял, спасибо
Никита
[
"почему так\nВ column стоит ",
{
"type": "pre",
"text": "crossAxisAlignment: CrossAxisAlignment.start,",
"language": ""
},
" \nв column у меня вставлен row и ему даю ",
{
"type": "pre",
"text": "mainAxisAlignment: MainAxisAlignment.spaceBetween,",
"language": ""
},
"\nа она не применяется ((( \nпочему?"
]
Alexey Z
Потому что для colum и row для выравнивания нужны размеры родителя. Оберни Expanded
Vladimir Elfimov
Ребят, всем привет, приземлился к вам после неудачного сеанса гуглинга. Задача - сделать платежку в приложение на flutter, был ли у кого то опыт? Судя по выдаче гугла, без костылей там не обойтись.
Alexey Z
либо ставь Spacer() между элементов Row
Никита
[
"Благодарю, \nИ хочу добавить, что expanded не всегда помогает, а точнее мне он чет ваще не помогает. \nЯ оборачиваю в контейнер и задаю максимальную ширину типо такого ",
{
"type": "pre",
"text": "constraints: BoxConstraints(maxWidth: 300),",
"language": ""
},
""
]
Alexey Z
Ну тут смотря какая верстка, иногда выручает LayoutBuiler
Никита
понял. Почитаю про LayoutBuiler, благодарю
Alexey Z
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=IYDVcriKjsw"
}
]
Vladimir Elfimov
[
"Возможность покупки товаров ( не подписку ).\nУвидел приятный ",
{
"type": "text_link",
"text": "плагин",
"href": "https://squareup.com/us/en/flutter"
},
" у ребят из square, но они в России не работают."
]
Alexey Z
А чем тебе стандартный in_app_purchase не подходит?
Artem Gubatenko
Народ, подскажите: есть ли плагин, через который можно запросить все данные с REST API с пагинацией? Или все пишут сами?
Vladimir Elfimov
Удивительно, но не смог пробраться до этой части дока с запроса в гугле “flutter paywall”
Kirill Aparin
с flutter_map?
Vladimir Elfimov
Спасибо )
Maks Andrienko
Покупку физическую ? Не внутри приложения?
Socrat
[
"Всем привет, создал канал стараюсь наполнять интересными новостями/фичами из мира Flutter ",
{
"type": "link",
"text": "https://t.me/trueFlutterNews"
},
""
]
Vladimir Elfimov
Не совсем понимаю тонкостей сейчас.
Maks Andrienko
Ну в плане не цифровые товары, а реальные. Мне просто интересно)
Vladimir Elfimov
А, нет, товар виртуальный )
Maks Andrienko
Тогда не знаю( Я делал оплату для реальных товаров
Maks Andrienko
Или ты уже нашёл решение ?
Vladimir Elfimov
А чем сам процесс отличается?
Vladimir Elfimov
Ведь все равно платишь из приложения?
Пашка
для цифровых вроде ток через маркет
Maks Andrienko
Там наверное если виртуальный то надо создавать список товаров и получать его из сторов. Давно делал на андроиде, забыл уже.
Maks Andrienko
Да, ты прав. короче я решил не рисковать и сделал оплату нативную., потому что все эти плагины не внушали уверенности, а это все таки операции с деньгами и рисковать не хотелось
Vladimir Elfimov
Я когда-то встречался еще с обратной задачкой, делать выплаты пользователей, вот это вот совсем темный лес для реализации )
Maks Andrienko
Типо возврат средств ?
Vladimir Elfimov
У меня была выплата за разметку данных )
Vladimir Elfimov
Аля Яндекс.Толока для очень нишевой истории
Дмитрий Щербаков
нормально там без костылей делается, если у эквайрера норм апи (яндекс касса, тиньков, альфа , наверное еще есть, не вдавался) и это не цифровой товар
Дмитрий Щербаков
у яши есть сдк под андроид и иос
Дмитрий Щербаков
все норму без всяких вебвью
Vladimir Elfimov
Окей, пощупаю.
Mitai
канал по работе в описании
Никита
Прошу извинить, за тупость свою)
Никита
а как добавить объявление туда?
Mitai
[
{
"type": "link",
"text": "https://github.com/rudart/community/blob/master/jobs.md"
}
]
Gorohov Valeriy
Кто-нибудь сталкивался? Если свернуь и развернуть приложение с открытой картой (googlemaps) то вместо карты белый экран.
NewBalanceM5
[
"через ",
{
"type": "mention",
"text": "@bunopus"
},
""
]
????? ILyos >
с чем связан это ошибка как его исправить?
Дмитрий Щербаков
[
"а этот рессурс доступен ",
{
"type": "link",
"text": "https://storage.googleapis.com/download.flutter.io"
},
" ?"
]
Сергей WhiteNeofetch
не могу понять почему картинку не может открыть
Дмитрий Щербаков
Или какая то буква не латиница )
Тима Егембердиев
А где папка assets лежит?
Сергей WhiteNeofetch
в руте проэкта
Сергей WhiteNeofetch
вот такое ток пишет
Andreu
Извиняюсь, а в пабспеке прописали пути?
Сергей WhiteNeofetch
про это?
Andreu
У меня был какой-то странный момент в тестовом проекте недавно, пока я не прописал тут в листе путь к каждой картинке конкретно - не работало
Andreu
Хотя я до этого писал без проблем тут путь к директории и работало, юзал я тогда svg
Gregory
Привет, подскажите пожалуйста. У меня есть дэшборд и слайдинг панель снизу которая может частично перекрывать дэшборд. Максимальную высоту я беру исходя из размера дэшборда, как и минимальную. Как правильно я могу взять высоту дэшборда если они рендерятся одновременно. Пробовал postframecallback в initState, но он все равно получает размер null, получилось только делая постфрейм уже в build методе (плохая идея явно). Проще говоря) Как мне взять размер соседнего элемента при билде и также его использовать.
Kirill Aparin
А что насчёт async функции, которую потом в init ставить
Kirill Aparin
Я как-то делал что-то похожее, в async функции поставил while и ждал пока переменная перестанет быть null
Gregory
Хорошо, попробую, спасибо
Roman Vasiliev
Комбинируй с Offstage лучше
Vadim Lukichev
CustomMultiChildLayout?
Gregory
Сейчас посмотрю, но похоже на то что мне нужно.
Andrew Ka
[
{
"type": "link",
"text": "https://www.youtube.com/watch?v=Ft6Br8p28O8"
}
]
Alexander PhatoM
подскажите, как заставить контейнер принять минимальный размер, чтобы в нем был только контент без пустых пространств?
Урусай
Смотря внутри чего он находится
Урусай
А вообще - нужно поместить его в то, что будет принимать бОльший размер. Например Align
Alexander PhatoM
простой Container
Alexander PhatoM
да, сработало, спасибо
admin
[
"мой последний дизайн для сообщества, надеюсь, вам понравится\n",
{
"type": "link",
"text": "https://youtu.be/4zJlomgkNQ4"
},
""
]
Олжас Сулеймен
в дарте из коробки только utf8 и asci
Олжас Сулеймен
берешь байтики из ответа и кидаешь в кодек, они в convert
oc1 kent
Здарова, как-то можно дебажить модель и сразу смотреть результат?
Олжас Сулеймен
[
"bodyBytes property - Response class - http library - Dart API\n",
{
"type": "link",
"text": "https://pub.dev/documentation/http/latest/http/Response/bodyBytes.html"
}
]
Олжас Сулеймен
[
{
"type": "link",
"text": "https://api.dart.dev/stable/2.9.2/dart-convert/Encoding-class.html"
}
]
Олжас Сулеймен
тут кидали пакетик или енкодер для 1251, если это оно
Паша
Подскажите пожалуйста открывашку для pdf doc docx документов что-то кроме китайской непонятной лабуды не могу найти ничего
Олжас Сулеймен
написал бы примерчик, но я не за пк
Олжас Сулеймен
utf8.decode(response.bodyBytes), как пример, вместо utf нужный кодек
Alexandr Borisovich
вы хотя бы знаете чем doc от docx отличается по структуре формата?
Alexandr Borisovich
стандарт невероятно огромен, вьюверы в основном коммерческие
Паша
знаю что это совершенно разные форматы и с первым проблем больше чем со вторым. и похоже задачка непростая
Ulmasbek Rakhmatullaev
[
{
"type": "bot_command",
"text": "/stat@combot"
}
]
Combot
Total messages: 243976
Паша
ясненько. так глубоко я не копал ???>? а с djvu проще будет или нет?
Alexandr Borisovich
проще всего доkжно быть с pdf теоретически, а может пролще и с Fb2
Alexandr Borisovich
а какая задача?
Паша
да студентику одному непутёвому дали задачу простую читалку сделать форматы doc/docx+pdf или djvu+pdf попросили помочь запилил через одну либу под флаттер, но она в процессе загрузки китайщину показывает ищу альтернативы
Дмитрий Щербаков
Открывать через браузер ;)
Alexandr Borisovich
странное задание дать студенту изучить стандарт docx и pdf где описание 10 лет опыта трех этажей разработчиков. Я уж не говорю, что еще и рендер машину повторить. Эй, студент, напиши мне Libre Office
Дмитрий Щербаков
Пилить тогда свою либу за сотни нефти)
Дмитрий Щербаков
Может через вебвью извратиться как то
Паша
да.. и готовые либы сомнительного качества есть только под docx и ни одной не вижу под doc с jdvu тоже непонятно, но я почти не копал почему-то подумал что проще с доками майков ??
Паша
сейчас и так через вебвью конвертится у китайцев и в вебвьюхе потому и вылазит китайщины кусок.
Дмитрий Щербаков
А почему не вариант открывать приложением которое ассоциировано с данным типом файла?
Паша
потому что задачка сделать приложение читалку а не приложение которое будет открывать читалку ??
Дмитрий Щербаков
За бесплатно?)
Дмитрий Щербаков
Ну я бы тогда искал какие нибудь сишные/ява либы которые это умеют и через них
SoFo
Если полностью на флаттере собираетесь читалку делать, то не советую. Там проблемы с асинхронной рисовкой текста
Паша
ну как там принято "ты мне проект, а с меня пиво"
Daniil Kolyasnikov
Сейчас все стараются отрендерить на сервере и отдать pdf
neikist
О, а можно поподробнее? Любопытно
SoFo
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/30604"
}
]
neikist
Ммм... Но ведь стандартные виджеты как то работают, вполне себе нормально.
neikist
Странно что у человека так долго работает. Может спан тяжелый дико или текста дофига впихнуть пытается?
Паша
да, этот вариант я рассматривал но это тоже та ещё морока.
SoFo
ну с относительнго небольшими кусками текста да, а вот если делать что то типо читалки, начинаются проблемы
Daniil Kolyasnikov
почему ?
neikist
Эээ, но ведь в читалке не нужно рендерить сразу все. Достаточно пары-тройки экранов
Паша
ну как минимум потому что я пока не нашел библиотек для конвертации хотябы в pdf
SoFo
Ну когда нужно будет рендерить следующий экран, будет микро подлаг. Очень неприятно
Daniil Kolyasnikov
PHPOffice
neikist
Заранее предыдущий и следующий иметь пререндеренными
SoFo
ну так если нужно следующий отрендерить, оно ui заблочит и будет подлаг
Daniil Kolyasnikov
Правильно я понял, что в изоляте нельзя отрендерить и вернуть даже image в бинарном виде ?
SoFo
насчет изображений не уверен
neikist
Ну как минимум через FFI по идее можно. Вернуть указатель на изображение. Да и наверняка какой нибудь иммутабельный массив байтов есть который передавать можно
Daniil Kolyasnikov
Кто-то встречал вообще блокировку скриншотов на ios ? На работе прям уверенно утверждают, что у конкурентов такая есть, а мы лохи без нее сидим.
Daniil Kolyasnikov
именно на ios ?
Daniil Kolyasnikov
это какая-то черная магия
I V ?-N
По названию языка понятно))
Daniil Kolyasnikov
Был бы очень благодарен. Пустят куда ?
Vladimir Elfimov
Ток пустят, это про электричество )
Daniil Kolyasnikov
А, понимаю. У нас раз в месяц такая фигня. Как только меньше 20 градусов, все замерзают и включают обогреватели. А потом все отрубается на часов 8
Pavel Kozlovskiy
Добрый день, может кто-то сталкивался, после заливки в тестфлайт и плейстор приложение при запуске показывает белый экран и всё, хотя локальные сборки работают нормально. Может ли await Firebase.initializeApp(); быть причиной?
Daniil Kolyasnikov
Попробуй к релизному приложению подключится или почитать что пишет в логи
Daniil Kolyasnikov
[
"android logcat в android studio , ios - ",
{
"type": "link",
"text": "console.app"
},
" на маке"
]
Andrew Ka
Почему последний?
Daniil Kolyasnikov
А, это только для андройда работает
Daniil Kolyasnikov
А для ios это работает только когда открыто меню запущенных приложений. Когда приложение в работе, скриншот работает нормально
oc1 kent
Друзья подскажите как можно подменять только определенные данные в структуре json в модели
Daniil Kolyasnikov
Не рабочий способ
Michael Bazilique
Подскажите пожалуйста, можно как то загенерить функции с разным кол-ством параметров в аргумент другого метода? Знаю что varargs теперь нету
Daniil Kolyasnikov
Просто не указывать аргументы колбека
Michael Bazilique
[
{
"type": "pre",
"text": "Future _sync(\n {SyncProgressStep step,\n String lastDate,\n SyncroResponse response,\n T Function(dynamic) mapper})",
"language": ""
}
]
Daniil Kolyasnikov
[
{
"type": "pre",
"text": "Future _sync(\n {SyncProgressStep step,\n String lastDate,\n SyncroResponse response,\n T Function mapper})",
"language": ""
}
]
Daniil Kolyasnikov
Не подходит ?
Michael Bazilique
Нет, к сожелению
Michael Bazilique
У меня маппер обязательно хавает обьект, что-бы VM выплевывать. Хочу сделать генерику, дабы избавиться от нарушения DRY, ибо сейчас, я юзаю идентичные методы (с разными мапперами) 3 раза
Daniil Kolyasnikov
Так нельзя сделать потому-что некрасиво ?
Michael Bazilique
можешь пж кинуть сорс?
Daniil Kolyasnikov
[
{
"type": "pre",
"text": " getProperty(String key, Function mapper) {\n var z = mapper(1, 2, 3);\n var x = mapper(s: 1);\n return x;\n }",
"language": ""
}
]
Michael Bazilique
я думал это из какого-то туториала. Спасибо
Daniil Kolyasnikov
Тут 1 строка ?? тут не на что туториал писать
Michael Bazilique
понимаю. Я контексте.
Sergey Bubnov
Всем привет. Скажите, а правильно ли сделать отдельный Bloc для того, чтобы хранить открытое соединение с Sqlite бд? Или там обычного синглтона хватит? Использую Moor для работы с бд, и использую flutter_bloc либу, вот думаю запихать это дело в блок, но не очень понимаю, правильный это путь
Tagir
[
"Привет, подскажите сайты, каналы телеграм с вакансиями по Flutter помимо ",
{
"type": "mention",
"text": "@dartlang_jobs"
},
""
]
Игорь
[
{
"type": "mention",
"text": "@dartlang_jobs"
}
]
Vladimir Ivanov
коллеги, а как —dart-define в xcode archive просовывать?
Bogdan Lukin
Собери релизный билд через консоль с нужными дефайнами, при archive они не сбросятся
Vladimir Ivanov
у меня есть некоторые сомнения по этому поводу. Archive же можно без билда вообще сделать
Bogdan Lukin
Там инвалидации кэша нет, и если ты archive сделаешь без clean или сборки через flutter cli изменения не подтянутся
Vladimir Ivanov
о, прикольно
Sergey Miroshin
Доброго дня. Как сделать перенос строк? Решения из гугла что-то не помогает (не рендерится вообще)
Sergey Miroshin
Сам текст в контейнере
Alexey Z
В Row или Column текст?
Sergey Miroshin
Container -> Row -> RichText
Alexey Z
Для того чтобы переносился нужно чтобы родитель текста имел размеры, ров и колумн не имеют
Alexey Z
попробывать Expanded обернуть
Andreu
Expanded не пробовали? и у Row mainAxisSize max?
Sergey Miroshin
[
{
"type": "link",
"text": "https://pastebin.com/PshGaWuU"
}
]
Alexey Z
Container на Expanded
|