Программирование : Dart & Flutter по-русски
Alexandr Drobyshev
хотя уже может сделал))
Alexandr Drobyshev
так я это изначально и сказал
Alexandr Drobyshev
что тогда я не так сказал?
Vyacheslav
а, ну сорри, я даже не спорю)
Alexandr Drobyshev
если кто то хочет чтоб в его личную форму воодили данные - нельзя)
Alexandr Drobyshev
ну, можно, но надо оч постаратся выполнить условия))
Alexandr Drobyshev
а в чьюто - да пожалуйста))
Alexandr Drobyshev
попробуйте по дефолту значения задать)
Alexandr Drobyshev
пишет что нулл ен может быть
Alexandr Drobyshev
title = '', int value = 0
Пашка
нужно проверит переменную на null типа?
Vyacheslav
нет, там все нормально написано, должна функция работать, и так чтобы подчеркивало ее параметры, нужно где-то скобки потерять
Alexander Popov
У тебя снизу указано null safety = true, это свежая фича дарта. Либо отключай, либо добавляй ? к типам: int?, String?
Alexandr Drobyshev
так как же новые правила не нулл) может уже ввели
Vyacheslav
кстати, не обратил внимание на эту кнопку))
Vyacheslav
как его подрубить?
Alexandr Drobyshev
[
"кто нибудь юзеат ",
{
"type": "code",
"text": "Formz"
},
"? есть смысл?)"
]
Alexandr Drobyshev
ну я в прошлом проекте не юзал) в этмо думаю попробвоать
Arseny Gradetsky
Решение уже подсказали, но также можно добавить required
Noob Noobskiy
Работает же
Пашка
у тебя мб нулл выключен
Alexandr Drobyshev
я просто не пойму, там нельзя больше 1ой ошибки вренуть?
Пашка
много нервов с экономишь
Alexandr Drobyshev
с однйо стороны и не надо навреное0) так как не удобно выводить
Alexandr Drobyshev
ну например у меня сайт на руби и там сразу куча прилетает
Пашка
через енум можно разные ошибки выводить
Пашка
включи, и найди ошибку
Пашка
прочитай про null safety
Alexandr Drobyshev
допутсим для поля email может быть одновременно не пусто и невреный формат)
Alexandr Drobyshev
ну наверное буду все равно одну выводить, не красиво по несолько
Alexander Popov
Я, как пришедший с iOS, вообще дико рад null-safety. Дарт становится прям все лучше и лучше
Alexandr Drobyshev
просто если не пут, оно логично что и формат не вреный)) просто от сайта прилетает массив, и я думал сделал чтоб как там было) но видимо нафиг, это форма будет засыпана лишними ошибками
Пашка
в енум можешь добавить свои ошибки
Пашка
и от if выводить нужную
Alexandr Drobyshev
а я не люблю ка крпишеждший с с++ )) я везде юзаю нулл! я не понмиаю смысла если нет юзера тов переменной все равно хранить юезра!
Alexandr Drobyshev
объект
Noob Noobskiy
[
{
"type": "mention",
"text": "@Pixar88"
}
]
Alexandr Drobyshev
та такое я вижу) статус же один) просто в ангуляре том же сразу можно кучу ошибок проверять) там массив
Alexandr Drobyshev
вообще не важно) я не буду делать больеш 1ой за раз
Alexander Popov
В Swift с этим вообще много боли с этим, но как привыкаешь, начинаешь понимать, что это круто, когда можешь сразу пометить поле non-nullable, чтобы где-нибудь потом не налажать с нуллом и не лепить ненужные проверки
Alexandr Drobyshev
да, плюс есть, но не когда это станет по дефолту) я лучше сам помечу что не должно нулл быть) а тут я так понимаю хотят сделать сразу по дефолту все не нулл
Alexandr Drobyshev
просто главное чтоб переменные типа final User user;
Alexandr Drobyshev
автоматом не проинициализиоровались))
Alexandr Drobyshev
остальное пофиг
Пашка
именно в нем и познакомился с ним
Пашка
это даёт безопасное программирование
Alexander Popov
Да, как в Swift. Хотят сделать чтобы int? и int были несовместимы изначально
Пашка
ну у них nil же тоже тип
Alexander Popov
В Swift нет, это в Objective-c nil указатель на несуществующий обьект. В Swift у nil стандартное значение
Alexander Popov
Или может ты путаешь с NSNull
Mitai
[
"кто то фуксию запускал? что ему нужно?\n",
{
"type": "pre",
"text": "Failed to spawn, no active host",
"language": ""
},
""
]
Alexandr Drobyshev
вопрос еще мучает, в чем разница кода перед initState и после?)
Alexandr Drobyshev
я про родительский метод
Alexandr Drobyshev
там вроде бы ничего нет в родителе, просто смотрю кто то пишет вначале super потмо код а кто то на оборот)
Пашка
где то слышал что в ините пишут после супер
Alexandr Drobyshev
и в ту же тему, если видежт стейтфул переррисуется, то инитСтейт не будет вызвано еще раз, и если я там создам bloc = new BLoc то он бует прежний а если я заюзаю BlocProvider в стейтфул виджете, то он же пересоздаст блок если перерисуется? то етсь так нельзя делать
Пашка
есть ещё инхеретед виджет
Alexandr Drobyshev
хм, надо посомтреть) я ток два знаю))
Alexandr Drobyshev
ох ну по мне проще провайдер юзать))
Пашка
провайдер юзает инхеретед виджет
Пашка
так что знакомьтесь
Alexandr Drobyshev
ну ща зающаю тотвиджет)) попробую
Alexandr Drobyshev
хотя нет) мне не надо у меня 1 уровнеь вложения
Пашка
время время покажет
Alexandr Drobyshev
я не понмиаю, в туториале входа блок идет вызов _authenticationRepository.dispose(); в блоке но сам репозиторий юзается глобальный из провайдера, как так
Aleksey
[
{
"type": "link",
"text": "https://www.linkedin.com/posts/raman-goyal-b1a9a4184_flutter-dart-flutterdev-activity-6737780881756311552-e121"
}
]
Пашка
который нужно закрыть
Alexandr Drobyshev
ну репозиторйи создан в функции меин, и передан чреез провайдер в два блока как минимум дальше в блоке авторизации он закрывается! а что если будет пересоздан блок ? он закреотся и что тогда? в новом блоке будет глобальный закрытый репозиторий))
Alexandr Drobyshev
я понмиаю что закрыть нужно, я не понимаю выбор места
Alexandr Drobyshev
я бы создавал и закрывал в одном виджете
Alexandr Drobyshev
с учтетом что он глоабльый и в двех блоках юзается
Alexandr Drobyshev
вдрег после сворачивания и разворачивания прилы этот виджет умрет
Пашка
репозиторий открывается
Alexandr Drobyshev
ну или блок акторизации надо чтоб хранил стейт всегда
Пашка
он должен быть на верху аппы
Alexandr Drobyshev
да, а закрывется ниже, в том то и дело, стоит этому виджету умереть и новый не откроется
Дмитрий Щербаков
Да можно. У многих банков/платежных ситем (эквайреров) есть сдк под Андроид иос. Смысл сдк в том что ты не вызываешь вебвью а делаешь внутри приложения все. Я делал на Яндексе, все норм работает. У тинькова есть тоже, но ещё не щупал
Alexandr Drobyshev
есть гарантия что видеж первый не будет уничтожен даже если прила свернута?
Alexandr Drobyshev
ну значит умрет
Alexandr Drobyshev
а не будет, ну ок, поверю) вроде в андриоде умирали даже главный фрагмент если мало памяти и прила свернута)
Пашка
не знаю, не буду говорить
Пашка
но вроде все работает)
Дмитрий Щербаков
Кто нибудь занимался работой с эквайринговым терминалами , в частности ingenico ?
Alexandr Drobyshev
[
"а есть смысл запихивтаь репозитории в ",
{
"type": "code",
"text": "MultiRepositoryProvider"
},
" или можно в простой мльтипрвайдер?"
]
Alexandr Drobyshev
я не вижу смысла)
Alexander Popov
В доке прям на самом видном месте ремарка If you override this, make sure your method starts with a call to super.initState(). Даже если на функционале никак видимо не отражается, стоит просто в качестве хорошего тона писать в initState после супера, а в dispose перед
Пашка
а доступ потом через repositoryProvider?
Пашка
а то я думал мне это во сне приснилось
Alexandr Drobyshev
ну так и делаю) просто смотрю по разному делают) мало ли особенность языка что функция визуально пуста) а где то что то отрабатывает))
Alexandr Drobyshev
не получиться видимо заюзать оишбку поля стандартную)) не пойму как переверстать
Пашка
вот это реально трабл
Пашка
сделай кастомную ошибку
Alexandr Drobyshev
да, видимо прсото надо свой Text видет выводить)
Пашка
сделайте у appBar elevation 0.0
Пашка
будет лучше как по мне выглядеть
Alexandr Drobyshev
да, согласен
Пашка
покажите как выглядит
Alexandr Drobyshev
ща) верстаю ошибку))
Пашка
ее не надо верстать
Alexandr Drobyshev
не пойму, передаю в виджет иконку
Alexandr Drobyshev
Icon(Icons.)
Alexandr Drobyshev
а как мне в виджете внутри покарсить ее?
Alexandr Drobyshev
то етсь цвет задать иконке если ошибка
Alexandr Drobyshev
вот тут) icon это Widget
Пашка
[
"Icon(icons.visibility, color: ",
{
"type": "link",
"text": "colors.red"
},
", size:32,)"
]
Alexandr Drobyshev
[
"вот так надо)\n",
{
"type": "code",
"text": "IconTheme(child: icon, data: IconThemeData(color: errorColor)"
},
""
]
Alexandr Drobyshev
у меня же виджет пришел свыше)
Пашка
final Widget icon = Icon(icons.)
Alexandr Drobyshev
не нравится мне ошибка как выглядит)) ну пофиг потом подумаю еще
Alexandr Drobyshev
навернео вооще текст уберу тут, ток иконк абудет гореть
Дмитрий Симонов
[
"Ребят, есть у кого-то идеи как решить такую проблему?\n",
{
"type": "link",
"text": "https://stackoverflow.com/questions/65012253/flutter-pageview-with-dots-indicator-in-listview-does-not-work"
},
""
]
Пашка
до завтра подождёшь
Дмитрий Симонов
да, конечно
Alexandr Drobyshev
я не решил)) слишком геморно сичтать на лету высоту) и отказался в итоге) сделал фиксированную высоту
Пашка
найди на просторах интернета
Пашка
и попробуй вместо ListView
Пашка
если я правильно понял идею
Дмитрий Симонов
Ща попробую
Пашка
мне кажется не поможет
Пашка
со сливером это дело провернуть
Пашка
сформулируйте лучше кейс
Пашка
что бы я правильно сделал
Пашка
просто на стаке читать
Дмитрий Симонов
Есть список с текстом, в каждом элементе списка текста где-то много, где-то мало, и поэтому высота элемента зависит от количества текста. Что нужно: сделать пейджвью (или любой другой свайпер) на элементе, что бы можно было менять фон на каждом элементе списка отдельно, и что бы текст оставался таким же фон - просто цвет, градиент в контейнере
A Kuper
Берешь stripe если он доступен для твоей страны, в нем есть кучу возможностей, 3dоплата и прочее( перенаправление на сайт банка с подтверждением и возвратом в приложение автоматически), можно интегрировать googlepay и прочее прочее. stripe_sdk библиотека на флаттере, но это не официальный пакет, так что нужно его внимательно изучить перед использованием
Дмитрий Шевченко
Народ подскажите хорошие статьи про bloc или какой нынче топовый стейтменеджер во флаттере?
Alexandr Drobyshev
[
{
"type": "code",
"text": "dialogs: json[\"dialogs\"] == null ? null : UserStat.fromJson(json[\"dialogs\"]),"
}
]
Alexandr Drobyshev
rак это сократить красиво?)
Alexandr Drobyshev
есть обратная операция для ??
Alexandr Drobyshev
[
"типа ",
{
"type": "code",
"text": "json[\"dialogs\"]"
},
" !?? ",
{
"type": "code",
"text": "UserStat.fromJson(json[\"dialogs\"])"
},
""
]
Alexandr Drobyshev
и еще не пойму как красиво организовать, в юзеррепозитори мне надо апиПровайдер а в апиПровайдер надо юзерРепозитори чтоб csrf токет из сессии постоянно получать)
Alexandr Drobyshev
выходит вначале надо создать апиПровадер, потом юзерРепозитори передав туда апи а потом надо в сессерапиПровайдера получается пределать репозиторий) какой то странный алгоритм
SoFo
такого оператора нет, но если тебе не нравится можешь обработку на нулл в fromJson засунуть если это фабрика и оттуда возвращать нулл
Gevork Arzumanyan
Если я правильно понял алгоритм То лучше использовать локатор Get_it
Alexandr Drobyshev
блин ради одного места юзать либу целую не хочу) я лучше сделаю как написал) типа в юзера пердеам апиПровайдер и юзер сразу себя пропишет в провайдера
Andrey Unger
да уж блин. Давно такого автрала не было. Запустили в приллу бетта тестеров и бэк лег! жойны 11 таблиц в одном запросе оказалось тяжеловато для вдски двухядерной)))
Alexandr Drobyshev
ключики не растсавил значит))
Alexandr Drobyshev
explain SQL тебе в помощ)
Andrey Unger
не в ключиках дело. там все через ORM жойнится. А эта падла память кушает как не в себя. Пришлось переписывать на подзапросы все
Alexandr Drobyshev
а чо куки не хранятся что ли в http клиенте
Andrey Unger
[
"подскажите почему flutter build apk не меняет версию билда? в build.gradle стоит:\n",
{
"type": "code",
"text": "versionCode flutterVersionCode.toInteger()\nversionName flutterVersionName"
},
"\nв pubspec версию меняю и не пашет (("
]
Alexandr Drobyshev
а ка ктак вышло что headers это Map
Alexandr Drobyshev
мне прилетает 4 куки в 4 разны з аголвках имя у всхе одно
Alexandr Drobyshev
set-cookie
Alexandr Drobyshev
а в итоге я теряю 3
Alexandr Drobyshev
как так)
Alexandr Drobyshev
а блин они соединяются
Sasha
Как бы глупый вопрос, но что тут отвечать?)
Sasha
HTTPS это же тоже шифрование
Andrey Unger
блять. что-то вообще с версионированием при сборках какието проблемы. Гугл вроде научился понимать версию из pubspec после flutter build apk, а при выгрузке в стор не видит вообще записи в Info.plist - хотя XCode коректно показывает версию из пабспека. Пока руками в Info.plist не пропишешь - не публикует приложение (((
Alexandr Drobyshev
ппц кто писал дарт хттп либу, нахера они соединили запятой заголовки в которых и так етсь запятая!
Alexandr Drobyshev
как тепреь резбить
Andrey Unger
dio решит все твои проблемы)
Alexandr Drobyshev
шо это?
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://pub.dev/packages/dio"
}
]
Andrey Unger
тоже что и axios когда есть fetch в js))
Alexandr Drobyshev
а гугл шо не может решить)
Andrey Unger
http слижком уж низкоуровневый. много руками писать приходиться того что уже реализовано в том же dio например
Alexandr Drobyshev
expires=Fri, 26 Nov 2021 22:07:31 GMT
Alexandr Drobyshev
вот дата пришла
Alexandr Drobyshev
а они куки друг от друга отделили запятой
|