Программирование : Dart & Flutter по-русски
Пашка
я вижу что есть обновление
Roman Vasiliev
А что, хочется код в проекте сломать неожиданно?
Andreu
Ну да, я замечал что там какое-то несовпадение версий иногда есть
L
у меня vscode сам всё делает, когда правлю pubspec
Пашка
нажимаю, а ничего не происходит
Пашка
я смотрел, там приятные фиксы которые нужны)
Kirill Aparin
[
"json.decode(response.body) выдаёт\n",
{
"type": "pre",
"text": "{orders: [{cancelled: Mon, 10 Aug 2020 09:57:15 GMT, order_time: Mon, 10 Aug 2020 12:46:07 GMT, payment: {amount_due: 90, cashback_used: 0, discount: 0, free_drinks_used: 0, order_total: 90}}",
"language": ""
},
"\n\nХочу получить order_time,\njson.decode(response.body)['orders'] выдаёт null"
]
Kirill Aparin
Как получить?
Пашка
orders это же массив не?
Andreu
ну orders то да, но он ведь написал где ему null созвращает
Пашка
мб на прямую берет, я предположил
Kirill Aparin
Не сработало
Andreu
а дебажил то? json.decode(response.body) что в дебаггере дает
Kirill Aparin
[
{
"type": "pre",
"text": "{orders: [{cancelled: Mon, 10 Aug 2020 09:57:15 GMT, order_time: Mon, 10 Aug 2020 12:46:07 GMT, payment: {amount_due: 90, cashback_used: 0, discount: 0, free_drinks_used: 0, order_total: 90}}",
"language": ""
}
]
Andreu
ты же понимаешь, что decode выдает мапу?
Andreu
и почему тогда на вопрос отвечаешь json-ом?))
Kirill Aparin
Вот из этой мапы как мне достать orders и потом order_time
Kirill Aparin
Ща дебаг поставлю
Денис
Народ кто с angular dart работает? В vscode вылетает ошибка рандомно "ng.AppComponentNgFactory" не находит класс. но при это если пару раз сделать Reload Window или при перезапуске анализатора ошибка пропадает.
Yerassyl Maikhanov
как из мапы получить лист и потом из листа получить объект и из объекта поле
Yerassyl Maikhanov
вот так
Павел Середа
[
"ты чё, всё за вас делать приходится, держи рабочий семпл: ",
{
"type": "link",
"text": "https://pastebin.com/vPVJsqYJ"
},
""
]
Andreu
походу ты был прав))
Kirill Aparin
Я ещё не проверил)
Павел Середа
шо там предполагать json это мап[String]интерфейс с допустимыми вложенностями и массивами
Павел Середа
один раз запомнил и всю жизнь пользуйся
Павел Середа
а задавая вопрос про json было бы круто выкладывать нормальный(валидный) json, а не тот который мне пришлось потом руками оборачивать в кавычки, не каждый будет этим заниматься
????? ILyos >
используя flutter_secure_storage плагин сохраняю юзертокен. но когда я устанавливаю приложения оно вместо того чтоб открыть логин окно, открывает другое окно где моя ошибка? или не правильно проверку делаю?
Andreu
не смущает, что он возвращает Future, а ты его проверяешь на null?
Andrew Ka
Все правильно, фьюча отрезолвлена благодаря .read() ??
Andreu
так ему было бы неплохо проверять значение этой фьючи, а не саму фьючу
Andrew Ka
Только там не хватает await ??
Andreu
ну с учетом того, что это все таки какой-то первоначальный экран, лучше ему через FutureBuilder делать, как по мне
Andreu
Выше Андрей написал решение. Future там вернется в любом случае, вопрос только в том, будет ли там строка или будет null
Andrew Ka
[
"Я так и сделал! ?? ",
{
"type": "link",
"text": "https://github.com/comerc/minsk8/blob/master/lib/main.dart#L506"
},
""
]
Kirill Aparin
json.decode(response.body)['msg'] возвращает всё чётко А вот json.decode(response.body)['orders'] возвращает null В чём проблема
Andreu
ты шутишь или что? orders ведь child user
Kirill Aparin
Вот сейчас я прозрел
Andrew Ka
orders вложен в users ??
Kirill Aparin
Спасибо Андреи всевидящие
Andrew Ka
25 лет за баранкой, у меня хрен проскочишь ??
Alexandr Borisovich
как можно в андройде вынести код в другой класс, чтобы флаттер видел его через methodchannels? Выношу в другой класс и получаю Unhandled Exception: MissingPluginException(No implementation found for method лалала. не видит флаттер привязки в другом месте. Как быть? Как его привязать так, ятобы виделся? Хочу в другом файле код этот держать
Пашка
так, я показываю showSnackBar(). мне нужно выполнить возврат на другой экран после завершения показа
Alexey
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/SnackBarClosedReason-class.html"
},
" ?"
]
Пашка
wow, как такое не доглядел
Andrey Latyshev
Ищу наставника самого начального уровня для онлайн-занятий. Оплата почасовая. Жду предложения в личку.
Kolya
[
"Друзья, всем привет. Кто-то сталкивался с тем, что url_launcher по какой-то причине не запускает на ios ссылки на звонки (вида tel:",
{
"type": "phone",
"text": "+79991231212"
},
") заранее спасибо"
]
Andrew Ka
А что говорят логи? ??
Kolya
в том-то и дело, что canLaunch проходит и ошибку не выдает, но на реальном устройстве звонок не запускается ??
Ivan
схему надо добавить в инфоплист
Ivan
LSApplicationQueriesSchemes tel
Andreu
логи девайса чекал?
Maks Andrienko
а не в инфоплисте указывал схему ?
Kolya
кстати новое поведение - теперь приложение вылетает при клике на кнопку *** First throw call stack: ( 0 CoreFoundation 0x0000000112e05e6e __exceptionPreprocess + 350 1 libobjc.A.dylib 0x0000000112c719b2 objc_exception_throw + 48 2 Foundation 0x00000001127147b7 -[__NSConcreteURLComponents initWithString:] + 0 3 CoreServices 0x00000001147fc769 -[_LSURLOverride initWithOriginalURL:checkingForAvailableApplications:newsOnly:] + 147 4 CoreServices 0x00000001147fd082 -[_LSURLOverride initWithOriginalURL:newsOnly:] + 25 5 CoreServices 0x00000001147fd95f _ZN14LaunchServices12URLOverridesL20getURLOverrideCommonEP5NSURLb + 397 6 CoreServices 0x00000001147fd7c1 -[LSApplicationWorkspace(LSURLOverride) URLOverrideForURL:] + 14 7 UIKitCore<…> Lost connection to device.
Kolya
мб есть другой способ запустить звонок?
Andreu
надеюсь перезапускал после редактирования листа?
Andreu
ну так, чисто убедиться
Пашка
и запускал на реал девайся?
Serg Bell
по дефолту zash, сча видос нарою как с нею прописать корректно
Serg Bell
вверху окна терминала же zsh написанно?.
Фотех Камолов
Всем привет! Ребята подскажите пожалуйста как покрасить статусбар ? (иконки время и тд)
Andreu
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark);
Andreu
это если аппбара нету. Если он есть, то у него есть поле brightness
Фотех Камолов
а как именно покрасить сами иконки вот у меня белый фон и там не видно иконки как покрасить ?
Andreu
аппбар есть на экране?
Andrew Ka
[
"У меня ещё был вот такой грязный хак ?? ",
{
"type": "link",
"text": "https://github.com/comerc/minsk8/blob/master/lib/screens/home/home.dart#L48"
},
""
]
Фотех Камолов
Сейчас поменял на синий все видно а надо мне белый фон и синие иконки
Петросян Лёва
Привет всем) Есть у кого красивый гайд как сохранить состояние пользователя после авторизации во флаттер?) Сейчас 200 возвращается, могу даже глобальную переменную выставить, но она сбросится после перезапуска приложения, какой аналог куки есть во флаттер?)
Петросян Лёва
Прямо как в js?)
Andreu
тогда ты не умеешь читать, brightness добавь аппбару
Фотех Камолов
Щас попробую
Павел Середа
shared_preferences
Петросян Лёва
3 варианта, какой лучше?)
L
я пробовал все 3, не считая sqlite, пока не нашел ничего лучше и удобнее чем hivedb
Петросян Лёва
Понял, спасибо всем за ответы) Почитаю про это все
Фотех Камолов
спасибо получилось!
Урусай
Там простое key-value хранилище
L
ну hivedb тоже самое, только специализированный
L
и он позволяет целиком объекты сохранять
Урусай
Кодогенерация - на помойку сразу
neikist
Кодогенерация часто вполне отличный способ сделать типизацию нормальную
tdesc
кодогенерация это круто и качественно
Andreu
второе явно лишнее
Урусай
Кодогенерация это отсутствие чистоты, ясности и гибкости
Andreu
не вижу ничего качественного в том, что скрывается огромное количество говна в сгенерированных классах
tdesc
почему интересно говна?
Andreu
ну собственно вот ответ, который понятнее моего
tdesc
вы точно понимаете о чем речь вообще?
tdesc
у нас на проекте build_value и иммутабельные коллекции основа стейт менеджмента
tdesc
за вас сеттеры и геттеры и сериализация сгенерены автоматически
tdesc
берите и пользуйтесь
Andrew Ka
Кодогенерация - это прекрасно. Если правильно приготовить ??
Andreu
это я все прекрасно понимаю, я ведь сказал, что это круто, но чистота пропадает, все это очень некрасиво начинает выглядеть в сгенерированных классах для сериализациии
tdesc
зачем вы туда лазаете?
Andreu
скажем так, я вспоминаю из андроида Moshi и data class, которые делали все те же действия (get/set и сериализацию) ровно в 2 слова
Алексей Анисов
а если в других языках такое встроенно в процесс компиляции и скрыто от вас - то это ок?)
L
Тогда весь dart на помойку надо, потому что без кодогенерации невозможно БД использовать. Moor тоже генерирует
Алексей Анисов
ну типо те же дата классы в котлине
Andreu
ахах, ну вы теперь меня в тупик поставили) по моим аргументам получается что да, ведь все эти вещи по сути делают одно и тоже, простов одном случае мы это видим, а в другом нет
L
hivedb кстати всего один класс генерирует, который даже и самому можно написать
Алексей Анисов
просто дарт в этом плане еще не прокачали
Алексей Анисов
а может и не будут)
Алексей Александрович
[
"привет\nкто-нибудь может подсказать, как сделать, чтобы элементы в ",
{
"type": "code",
"text": "flexibleSpace"
},
" были по высоте контейнера, т.е., самого ",
{
"type": "code",
"text": "flexibleSpace"
},
"?\n\n",
{
"type": "pre",
"text": "SliverAppBar(\n pinned: true,\n floating: true,\n expandedHeight: 250.0,\n backgroundColor: Colors.white,\n flexibleSpace: Container(\n child: SizedBox(\n width: double.infinity,\n height: 240.0,\n child: CustomScrollView(\n slivers: [\n sliverContactsSection(context),\n ],\n ),\n ),\n ),\n),",
"language": ""
},
""
]
Andreu
да, это во мне слеза котлиновода накатила просто, где много хороших ситаксических решений есть, а тут я уже год без них)
tdesc
кому шашечки кому ехать ?????>?
Art
Всем привет, а исходя из чего решаете использовать bloc, redux или mobx?
MiT
От задач, проекта, команды...
tdesc
из тз, размера команды и нужности проекта
tdesc
у нас блок и редакс
Олжас Сулеймен
пакуешь redux в block и подписываешься
4??uzhoy .
попробуй включить впн
Stanislau P
А если через консоль создать проект? Через flutter create.
Петросян Лёва
Дженимоушн бесплатный если в личных целях
neikist
Под винду эмуляторов ios нет
Петросян Лёва
ios не увидел, там написано под Винду
Петросян Лёва
ios приложения только на маке пишутся
tdesc
редакс как источник данных для блоков
Петросян Лёва
Виртуальные машины?
Петросян Лёва
Есть разные варианты кроме мака
Egor
он устарел уже ios 12 только
Kirill Aparin
[
"Почему не могу запустить приложение, оно устанавливается, запускается, а потом крашится и вылетает ошибка\n",
{
"type": "pre",
"text": "java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.deligence.california/com.deligence.california.MainActivity}: java.lang.ClassNotFoundException: Didn't find class \"com.deligence.california.MainActivity\" on path: DexPathList[[zip file \"/data/app/com.deligence.california-mm1uXQ3pSQVQ8jvsLU5lXQ==/base.apk\"],nativeLibraryDirectories=[/data/app/com.deligence.california-mm1uXQ3pSQVQ8jvsLU5lXQ==/lib/arm64, /data/app/com.deligence.california-mm1uXQ3pSQVQ8jvsLU5lXQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64, /hw_product/lib64, /system/product/lib64]]",
"language": ""
},
""
]
Serg Bell
в смысле? что за 12?
Egor
iphone 6 устаревшее устройство, он только ios 12.4 поддерживает. Сейчас 13 и на подходе 14
Maxim
да, но ненадолго, потому что флаттер на них УЖЕ подтормаживает
Egor
6s как сказал предыдущий оратор норм
Serg Bell
удивился прост - у дочки SE( 1gen), намедни до 13.6.1 обновился, почему-то думал что 6ка по-бодрее
Egor
потому что SE это мини 6s
Maxim
да вроде нет у них боли
Serg Bell
да, загуглил уже, как-то мимо меня этот момент прошел
Roman Vasiliev
да это жестко
Maxim
если только через adhoc, но вам нужно будет купить акк разработчика
Lev Bondarenko
У кого-нибудь было такое, что пуши на iOS в релизной сборке не приходят?
Maxim
или делаете учетку в AppCenter и настраиваете ci-cd
Alexander Vinogradov
Что тут происходит?
Kirill Aparin
Это как выбирать bloc redux или mobx
Alexander Vinogradov
Чисто кубан
Alexander Vinogradov
1,4 Bloc 2,5 redux 3,6 mobx
Alexander Vinogradov
Redux
Kirill Aparin
Как ты кинул кубик?
Alexander Vinogradov
[
{
"type": "code",
"text": ":dice:"
}
]
Kirill Aparin
[
{
"type": "code",
"text": "nice"
}
]
Alexander Vinogradov
Эмодзи куба если конкретно
NewBalanceM5
есть статья серф в которой они про него рассказывают
Alexander Vinogradov
Все кому не лень будут теперь проектировать кубами в телеге.
Alexandr Dolgov
все хана чату)
Andrey Novatovski
Вопрос, как сделать в listView эффект нажатия при прокрутке ?
Andrey Novatovski
То есть когда палец на каком-то элементе - подсветить его что ли как-то
bred
А в дебаге приходят?
MiT
[
{
"type": "mention",
"text": "@bunopus"
},
" людей успокоить надо. Игрушки нашли)"
]
Evgeny Kot
Так, идите играть в свой двор!
I V ?-N
Ага, дедлайны горят, а я в дартс в телеге играю
bred
[
"Недавно настраивал пуши через firebase_messaging и с iOS тоже была проблема. На первом Билде пуши приходили, а на всех последующих, нет. Возможно, у вас похожая проблема. Мне помогла последовательность действий по линке ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/41383#issuecomment-549432413"
},
""
]
Lev Bondarenko
Спасибо ????
Alexey
Ребят мне нужно вернуть виджет который удалит текущий экран из навигатора. Как можно такое сделать?
Serg Bell
[
"Navigator.of(context).pushReplacement\n",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/Navigator/pushReplacement.html"
}
]
Roman Vasiliev
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/60288"
},
"\nМеня кажись по касательной тоже задело, у меня кейс воспроизведения отличается, но суть вроде та же\n\nПофикшено я так понимаю будет в 1.23, в конце сентября стабилка"
]
L
Такой вопрос. У меня есть на странице StatefulWidget, в нём картинка, юзер нажимает на кнопку "инфо", я применяю setState, и внизу появляется информация о картинке. При этом картинка сдвигается вверх, но это происходит резко, без анимации. Как мне сделать анимацию, чтобы при setState картинка сдвинулась?
Alexey
но это метод который не вернёт виджет. Мне нужно в билде вернуть виджет и удалить экран. Как удалить экран я знаю.
Serg Bell
во flutter всио виджет, вполне себе ответ
Yerassyl Maikhanov
Картинку чем обернули?
L
[
"У меня ",
{
"type": "link",
"text": "ExtendedImage.network"
},
""
]
L
Как я понял, можно сделать stack, и использовать AnimatedAlign ?
Yerassyl Maikhanov
Я имею ввиду контейнером или анимированным контейнером попробуйте
Yerassyl Maikhanov
В анимированном укажите длительности и при изменении он плавно будет меняться
Alexey
я бы так не был уверен
Alexey
Мне нужно это в зависимости от условия возвращать
Alexey
[
{
"type": "pre",
"text": "Widget build(BuildContext context) {\n return StreamBuilder ....\n builder: (c, snapshot) { \n if () { return Widget();}\n else { Navigator.of(context).... }\n\n",
"language": ""
},
"Вот кусочек моего кода. Нужно в блоке else вернуть Widget который исполнит Navigator.of(context)"
]
Tayan Tayan
[
"What do you think guys, it took me two days to create it ",
{
"type": "link",
"text": "https://www.youtube.com/watch?v=7ETYduxVzzA"
}
]
Alexey
Возвращаемое значение не виджет
Serg Bell
Flutter: Everything is a Widget)) я имел ввиду, что вопрос можно было понять по разному
Oleg
Всем привет! Подскажите пожалуйста, какой лучше использовать state management и плагин мультиязычности для большого приложения ?
Andrey Novatovski
два олега
Andrey Novatovski
какой-то был i18n вроде, м?
oc1 kent
Мужики нужна помощь как мне распарсить JSON с websocket метода listen? я сгенерил модель на одну из версий JSON контента но у меня их полно как это правильно делать есть примеры?
oc1 kent
обьясните пожалуйста доступным языком
|