Программирование : Dart & Flutter по-русски
Andrey Lutcenko
Всем хорошего дня, не совсем по теме данного чата. Может кто то делал бонусные карты для Apple Walet и Google Pay, сколько нужно будет платить Apple и Google за обслуживание карт и отправку push уведомлений не могу найти информацию о тарифах, спасибо.
Denis Martych
всем привет! кто-то может помочь, пытаюст реализовать auth social (fb, google) через url который приходит, может кто-то подсказать библиотеку или мануал? очень нужно
Denis Martych
все что не находил все через firebase ((( а мне это не подходит
Анатолий
что значит урл который приходит?
First People
привет, делаю запрос во flutter http.get мне приходит там данные на русском языке и у него неверная кодировка, как мне настроить правильную?)
AL
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/51368663/flutter-fetched-japanese-character-from-server-decoded-wrong"
}
]
First People
я делаю print резуьтата запроса и там уже русский в неверной кодировке
Denis Martych
ну через редирект, на сколько я знаю есть как минимум 2 способа, это в обход бека, когда получаем токен и когда нам fb например оттдает url в котором есть localhost...?code=что-то там
First People
я уже передаю нужный cjntent-type
Denis Martych
[
"https://domen/api/auth/google/callback?code=g7Tb3x2NCfJH2yaKvt0lhraGRejNzUvdnraFy6ImpolMavl2sMOp62h5g&scope=email%20profile%20",
{
"type": "link",
"text": "https://www.googleapis.com/auth/userinfo.email%20https://www.googleapis.com/auth/userinfo.profile%20openid&authuser=0&prompt=none&entrance_type=login&special_residence_id="
}
]
Denis Martych
что-то по типу этого
B .
Коллеги, подскажите, пожалуйста... Какие еще важные темы для изучения??? Cоставляю свою roadmap - чтобы делать приложения. Без чего нельзя представить современное приложение, без игр... 1. UI material / cupertino 2. Реактивность - Pattern (Bloc) 3. Api - Json 4. Flutter Fire (Firebase) 5. ... what else? Спасибо!
Dima Kotlyarov
Анимация + stream's + futures
B .
futures ... а что это ?
число
привет всем! можете помочь новичку? "document.getElementsByClassName('name')[0].style.display='none';"); - скрывает после загрузки, а как реализлвать - что вообще не загружался определенный класс?
Danila Manila
[
{
"type": "link",
"text": "https://t.me/FlutterDevRu/495"
},
"\nВот кст интересная подборка по блоку"
]
NewBalanceM5
я еще там дополнил)
Danila Manila
Да, спасибо) Как раз начал изучать
Michael Bazilique
ребят, какое максимально простое решение нарисовать стрелочку вконце диалога и вырезать активным кнопочку?
Michael Bazilique
есть кучу пекеджей, но всё это требует глубокого рефактора
Denis Martych
так что ни кто не подскажет как сделать auth через social но с получением url а не токена?
Denis Martych
сломал голову уже, ни могу найти либу???? грусть, тоска, печаль
Andreu
так а через web-view, не?
Denis Martych
да опыта у меня пару дней на fluttere и кинули сразу на проект, сейчас гляну
А В
вроде как говорит версию флаттера обновить
Temurxon
может снизить версию
Arkadiy Filimonov
кто настраивал автоинкрементацию версии билда при каждой новой сборке?
Arkadiy Filimonov
как это замутить?
Arkadiy Filimonov
под андроид я делал, там просто скриптик в градле
А В
а fastlane не пробовали?
Arkadiy Filimonov
под айос иначе никак
Arkadiy Filimonov
а как в флаттере сделать чтоб именно тут менялось в пабспеке ямле?
Arkadiy Filimonov
андроид версию у меня тут сосет
Arkadiy Filimonov
нативное решение не работает
Arkadiy Filimonov
в идеале еще и именовать файл как полагается-билд флевор билд тайп - версия
Alexandr Borisovich
это же js. Скрывается какое то первое поле.
число
да, мне нужно чтоб вообще не загружалось
Arkadiy Filimonov
[
"хотелось бы аналогичное сделать и под флаттер ",
{
"type": "link",
"text": "https://gist.github.com/DoctorWhyy/59602f2d30e2885c30a9eb28edea670c"
},
""
]
Denis Martych
это в pubspec.yaml version: 1.0.0+1 ??
Temurxon
нет именно пакет
Temurxon
типа redux: ^1.1.2
Alexandr Borisovich
у вас код не загружает ничего. Ищите в другом месте
число
при загрузке через web view
Arkadiy Filimonov
блин палево)
число
этот код скоывает уже загруженный баннер
Alexandr Borisovich
пройдитесь циклом по document.getElementsByClassName('name') и сделайте всем дисплей нон, но это неправильный ход. Проще что-то на бекенде сделать чтобы это не отдавалось
число
был бы доступ, сделал бы
число
там несколько магазинчиков на одном домене, на одном серваке, у хозяев доступ только для загрузки фото и описания товара.
Константин Бобров
в чем проблема мб?
Anatoliy Dvoryashin
Очень мало информации
Константин Бобров
щас, распишу норм
Константин Бобров
[
"шел по этому уроку ",
{
"type": "link",
"text": "https://habr.com/ru/post/498070/"
},
"\nи на шаге:\n\"\nТеперь запускаем команду\nflutter packages pub run build_runner build --delete-conflicting-outputs\n(эта команда нужна очень часто, рекомендую добавить статью в закладки или сделать шорткат в терминале)\nи получаем сгенерированный класс для нашего типа данных todo.g.dart\n\"\nвыводит то, что на скрине и не создает, собственно, ничего"
]
Max
подскажите как задать скругление в зависимости от ширины экрана? пробовал вот это - не пойму на что ругается
Max
borderRadius: BorderRadius.only( topLeft: const Radius.circular(MediaQuery.of(context).size.height * 0.05), topRight: const Radius.circular(25))),
Roman Cinis
Ругается потому что mediaquery не может быть const
Arkadiy Filimonov
почитай про кодогенерацию моделей
roi peker
прости мой русский
roi peker
[
"Инициализация графа и форма, сделанные «unacorbatanegra»:\nавтоматические субтитры доступны в CC:\n\n",
{
"type": "link",
"text": "https://www.youtube.com/watch?v=zdc1GdWSd6g&feature=youtu.be"
},
""
]
WhyNot
Кто-нибудь знает можно ли стандартными методами в Text Widget выводить цифру например 3.0 как 3.00?
WhyNot
это немного не то выдаёт... )
Roman Cinis
сделайте экстеншн над вашим double/int/num что бы возвращал .00
WhyNot
а если для джуна вариант какой будет? )
WhyNot
только через if? )
Roman Cinis
сча скину, там делов на две минуты. сек
WhyNot
Я буду очень рад прокачать свой скил
WhyNot
Пока просто поплачу посижу
Глеб Гусаров
Всем привет, кто нибудь знает способ удалить определенную коллекцию у всех пользователей в Firebase или хотя бы удалить всех пользователей?
Roman Cinis
[
{
"type": "link",
"text": "https://gist.github.com/tsinis/2d7c0eed1ca69add8d4edcad2d2373cd"
}
]
WhyNot
Огромное спасибо! )
Roman Cinis
да не за что, поиграйтесь с этим в дартпаде, получите начальные знанания экстеншнов, очень полезная штука
WhyNot
для меня это прямо какое-то синьёрское решение
?TT-Su? V?e?DR?YL? oLCuLuR
Kak это можно сделать ?
Пашка
container(child Row(),),
?TT-Su? V?e?DR?YL? oLCuLuR
Пакет есть bottom navy bar ну container там не круглый
?TT-Su? V?e?DR?YL? oLCuLuR
Там анимация
?TT-Su? V?e?DR?YL? oLCuLuR
Трудно это делат
Roman Cinis
[
{
"type": "link",
"text": "https://pub.dev/packages/google_nav_bar"
}
]
Roman Cinis
могу посоветовать, я сам в него контрибьютил, автор достаточно активный, правда нал сейфити пока нет
?TT-Su? V?e?DR?YL? oLCuLuR
Ага спасибо огромное????
WhyNot
а как во флаттер это вставить. немного не понимаю )
Alexandr Drobyshev
естесвенно, вы внчале переодвите в страинг с двумя нулями а потмо орабно в доубле
Пашка
создайте фаил extencion.dart в него скопируйте екстеншин и где нужно это использовать подключите файл
Alexandr Drobyshev
надо булать обертку из double.parse()
Roman Cinis
создайте файл extensions.dart. там пропишите сам экстеншн, потом в любом своём текст виджите у числа доавляйте .extendedInt() в конце (так же как и toString()) например, ну и импорт самого extensions.dart должен быть ессно
Alexandr Drobyshev
странные советы какие то
Alexandr Drobyshev
вместо того чтоб скзаать убрать прасинг советуете то что он может в виджете напсиать вынести в эксентшин и поять вызвать экстеншин
Roman Cinis
что плохого в экстеншенах?
Alexandr Drobyshev
тое сть чел может написать
Alexandr Drobyshev
a.toStringAsFixed(2)
Alexandr Drobyshev
и все!
Alexandr Drobyshev
а вы предлагаете
Roman Cinis
.toStringAsFixed(2) это не экстеншн?
Alexandr Drobyshev
создать экстешнин, напистаь там это а потмо вызывать так a.extendedInt()
Alexandr Drobyshev
правильно! пятерка тебе
Alexandr Drobyshev
он уже есть!
Alexandr Drobyshev
зачем его писать?
Alexandr Drobyshev
то етсь вы вмеесто того что б указать что там зря идет обертка в double предлагате добавить кстешнин, даже ен пояснив где косяк
Alexandr Drobyshev
а потмо он этот экстеншин обернет еще раз в double.parse. и получит тот же результат оптяь без 00
Alexandr Drobyshev
при этом toStringAsFixed(2) отработает правильно даже если остаток будет) а вариант "$var.00" что даст если вдруг появится где то 3.5? 3.5.00?
Ed Khalturin
Ни одного extension из коробки нет. Они по определению определяются пользователем)
Alexandr Drobyshev
вообщем надо говрить людям где ошибка а не изобретать велики))
Ed Khalturin
Просто вызывай toStringAsFixed(2) от любого числа, он вернёт String с нужным количеством цифр после точки. toStringAsFixed(int) не экстеншн
Дмитрий Щербаков
мне экстеншены зашли с enumaми, прям ваще удобно
Дмитрий Щербаков
типа такого вот
Дмитрий Щербаков
enum WindingType { straight, reverse } extension WindingTypeExtension on WindingType { static const names = { WindingType.straight: 'Прямая', WindingType.reverse: 'Обратная', }; String get name => names[this]; }
EcsFlash-
Сейчас чет читал код и увидел штуку такую : чел обертывает scaffold в контейнер
EcsFlash-
Зачем? Мне интересно)
Дмитрий Щербаков
я делаю так. сначала обяъявлешь формат например для отображения валют либо количества (пакет intl) NumberFormat currencyFormat = NumberFormat("###,###.00", "ru_RU"); NumberFormat countFormat = NumberFormat("###,###.000", "ru_RU"); и уже в виджете выводит как тебе нужно например: '${countFormat.format(BlocProvider.of (context).packageWeight)} кг'
Alexandr Drobyshev
а мы. с соседнем чате пришли к выводу что это плохо) я вначале сдлеал так а потмо переделал без них)) на хелпер типа StatusName.of(status)
Дмитрий Щербаков
чем плохо, удобно же
Дмитрий Щербаков
особенно когда этих енумов дофига
Дмитрий Щербаков
вот щас проект их там больше 20
Дмитрий Щербаков
и все это в ui еще юзается
Alexandr Drobyshev
удобно, не спорю) но долго думали и решили что это не вреный подход) ну ка кдумали, один говрил надо так а другой что не надо) я принял сторону того кто скзаал не надо, потому что имена это мое, названия статусов напрмиер и цвета, это мое, а экстеншин вообще по мне так странная штука) внедлять мне мои тексты в типы данных) хз как то это не нравится мне)
Дмитрий Щербаков
так энум это не данные это набор констант по сути
Alexandr Drobyshev
та понятно
Дмитрий Щербаков
т.е. они не изменяются
Дмитрий Щербаков
в течении жизни аппа
Alexandr Drobyshev
я и сделла вначале на кстеншинах
Temurxon
можно ли создать в Dart переменную типа volatile ?
Alexandr Drobyshev
вообщем не говрю что точно это плохо) просто как то отдаляет от других языков))
Дмитрий Щербаков
тебе нужны стримы. гугли async async* yield yield*
Alexandr Drobyshev
к тому же все равно в них передавать даныне, надо , контекст, чтоб переводы подклчюить и темы
Alexandr Drobyshev
как это связано со стримами?
Temurxon
в бэкграунде запускаться будет?
Alexandr Drobyshev
на скок я помню из плюсов это значит что они не должны оптимизировать пременную и она может менятся из прерывания напрмиер на мк))
Дмитрий Щербаков
ну я не настоящий сварщик в яве но наскока помню волатиль там значит что если переменную изменят в 1 потоке другие ее увидят изменение
Дмитрий Щербаков
у меня тут аналог стримы тока)
Temurxon
subscription в main
Anton Kowalski
Firebaze это что-то типа Azure от google?
Nero
не нахожу такого в Drawer(нужно поменять иконку слева)
Arkadiy Filimonov
разный набор фичей
Даниил Левицкий
При чем тут Drawer?
Arkadiy Filimonov
разные инструменты
Nero
эта иконка появляется только если drawer определен
Vyacheslav
Получается, что у тебя в блоке висит переменная, открытая для доступа вне стейта. Я лично делаю так: создаю переменную стейта этого блока и свойство беру из стейта
Даниил Левицкий
Ну это на самом деле под коробкой в Appbar сделано, эту функцию можно отключить)
Anton Kowalski
Тогда что это?
Даниил Левицкий
Там либо MenuButton, либо BackButton создатся в зависимости
WhyNot
Спасибо. Убрал обёртку и стало всё ок работать снова ) я чёт переобёртывал по глупости.
Дмитрий Щербаков
Ну там основная мысль не про блоки была)
Alexandr Drobyshev
toString() - тоже лишнее
Дмитрий Щербаков
Я тупо дёрнул старый код с репы прошлогодней
Vyacheslav
Да, я понял. Просто в глаза бросилось, я тут недавно много переменных так убирал из кода самих блоков, переписывал логику
Дмитрий Щербаков
Ну сам понимаешь сначала в прод, потом рефакторим ;)
Vyacheslav
Стабильно так )
Nero
после смены на нажатие не реагирует
Nero
а, все, разобрался(Scaffold.of(context).openDrawer())
EcsFlash-
Потому что ты туда иконку впихнул, верно?
Даниил Левицкий
На самом деле ты мог взять MenuButton (кажется так) там это под коробкой
Даниил Левицкий
но при этом иконку менять можно
Anton Kowalski
Как лучше всего сделать аутентификацию через google?
Sergey Hottabych
Как оптимизировать кастомный пэйнт? У нас в проекте графики (через fl_graph) и индикатор в виде полукруга со стрелкой (с кучей мелких элементов), на них подтормаживает
нужно ли знать и учить Scoped Model ?
или сразу перейти к Блок ?
Alexandr Drobyshev
учить что такое блок и првоайдер)
Alexandr Drobyshev
инхеритвиджет)
Alexandr Drobyshev
мне хватает)
какой курс рекомендуешь ?
Alexandr Drobyshev
я ни какой не смотрел) только доку на сайте флаттреа, на сайте блока, и првоайдера доку
Alexandr Drobyshev
можешь посомтреть стримы фокса
проходил Кокорина но там темы про инхеритвиджет и Блок уже неактуальны
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://www.youtube.com/channel/UCRva5jH_39U-rLt6S9JJyUw/videos"
}
]
у него только про блок вроде)
?? ??????????????????????????
Я, когда досмотрел все курсы по всем темам которые хотел изучить
Alexandr Drobyshev
ну да там два, блок и инхерит
Alexandr Drobyshev
по мне так блок и инхерит впролне уже достаточно))
?? ??????????????????????????
Это не важно, этот я где-то то в параллельной вселенной и будущем, читайте доки там все есть)
Alexandr Drobyshev
инхеритВиджет, то на чем провайдер сделан
?? ??????????????????????????
Курсы для джунов
буилдконтекст вроде второе видео
Alexandr Drobyshev
можешь про провайдер еще вот этот минутный видосик глянуть ??
Anton Kowalski
Ребят хочу добавить google auth, делаю через firebase, требует applicationId из build.gradle, но его там нет что делать?
Cat-Wizard Ashere
Вплане нету?
Anton Kowalski
вообще нету, даже default config где он по идее должен быть.
Anton Kowalski
могу показать
?? ??????????????????????????
Ничего не умеешь но очень хочешь?)
?? ??????????????????????????
Я бы предложил прочитать доки по всему и не изучать ничего. Прийдешь в стек там будут свои требования, там научат)
?? ??????????????????????????
Не нужно втягиваться в холивар что лучше блоки или провайдеры, что лучше быстро делать или должно но в перспективе качественнее)
|