Программирование : Dart & Flutter по-русски
Олжас Сулеймен
это пока как завезут skia в флаттер веб тоже будет
???????
Календарь марии вообще толком не отличается от того что ты хочешь
Roman Vasiliev
Сделайте календарь с билдером и все, и мутите скины сколько угодно??
Andrey
так он и от стандартного тогда не отличается, мне нужно просто чтобы человеку было понятно где нужно нажать чтобы выбрать год
???????
Заведи feature request Марии, мб добавит, если хорошо попросишь)
Олжас Сулеймен
можно ссылку на репу
Roman Vasiliev
Шоколадку не забудь почтой отправить)
???????
[
{
"type": "link",
"text": "https://t.me/rudart/180489"
}
]
???????
Странно, что у тебя её нет в фоловерах на гитхабе)
Олжас Сулеймен
теперь есть
???????
[
{
"type": "link",
"text": "https://github.com/Renesanse"
},
"\n",
{
"type": "link",
"text": "https://github.com/kroppli"
},
"\n\nЕще их не забудь)"
]
ilx13
Map globalMap = Map();
ilx13
можно так использовать Map?
Roman Vasiliev
Законом не запрещено
???????
МОжно но зачем инициализировать именно так?
Andrey
но вообще надо подумать зачем так делать
???????
[
{
"type": "code",
"text": "Map > globalMap = >{};"
}
]
???????
И если я правильно понимаю твое "GLOBAL", ты собираешься его использовать для глобального стейта?
???????
[
"Если уж пердолить костыли, то делай уж так хотяб:\n",
{
"type": "link",
"text": "https://gist.github.com/PlugFox/5e0b12447baa1e81638e983c98d99bba"
},
""
]
Roman Cinis
Друзья, есть Мар . Как из него рандомно генерить только значения у которых value = true?
???????
[
{
"type": "code",
"text": "myMap.values.where((v) => v)"
}
]
???????
Только bool у тебя и есть значение)
???????
так что это не имеет смысла)
Roman Cinis
А рандом хде? :)
???????
А что именно тебе надо рандомизировать?
???????
[
"Энивэй\n",
{
"type": "link",
"text": "https://api.dart.dev/stable/2.7.2/dart-math/Random-class.html"
},
""
]
Roman Cinis
Мне нужно из Мар рандомно таскать тексты которы не выключены (т.е не со значением false)
???????
Ты как аутист хочешь получать ключ по значению чтоль?)
???????
Это можно, но дело в том, что это супер не оптимально и глупо.
???????
Тебе нужен список с парами
Roman Cinis
Да это понятно. С этим я умею вытащить любой ключ и false и true. А как ограничить на true не знаю
Roman Cinis
А где можно посмотреть как это сделано правильно?
???????
Идея Map в том что ключ у нее это такой индекс.
???????
Сделать то запросто то что ты хочешь и с map
???????
List такой список создай
???????
[
"и заодно у MyPair геттер ",
{
"type": "code",
"text": "bool get isEnable => ..."
},
""
]
???????
[
{
"type": "link",
"text": "https://pub.dev/packages/tuple"
}
]
???????
Ну или такой класс возьми
???????
Странно что в сам язык в коллекции еще не добавили пары и есть только MapEntry
Roman Cinis
Но в листе же нельзя иметь оба значения. Это будет список стрингов или список булеан
Roman Cinis
Как выглядит его содержимое?
???????
Ты прикалываешься?) Сча
???????
Чего вас на Map то заклинило?)
Roman Cinis
Да я какраз и полагал что оно для этого годится лучше
Roman Cinis
Но я не эксперт вовсе
???????
Он собрался получать Ключ по Значению)
???????
А поменять местами не может, тк окажется что мапа созданая для уникальности не годится в его кейсе
???????
Сча, тут же на полминуты делов
Roman Cinis
Ну наоборот невозможно. Ключи не будут уникальны
Timur Mukhortov
[
"Всем привет!\n\nНе со всем понимаю ошибку. \n\nНужно сериализовать массив объектов из json(а) в список объектов.\n\n Пример структуры добавил.\n\nПример реализиации объектов добавил.\n\nкод который дергаю:\n",
{
"type": "pre",
"text": "response = await dio.get(\"https://someadress\");\nvar test = MixesResponse.fromJson(jsonDecode(response.data)).results;",
"language": ""
},
"\nИ как итогом получаю: Unhandled Exception: NoSuchMethodError: Class 'List ' has no instance method 'call'."
]
Roman Cinis
А тексты все уникальны... поэтому хз
Roman Cinis
Сейчас попробуемс. Минуточку
???????
Мап не стоит использовать для поиска ключей по значению
???????
Это не значит, что на каждом из текстов стоит вызывать хэшфункцию для построения хэша)
???????
[
{
"type": "pre",
"text": "response.data((dynamic, value) => {print(value.toString())});\n\n",
"language": ""
},
"Вот этим ты что вообще хотел добиться?)\nТут в этой строке вообще все не так."
]
Roman Cinis
Ваш пример робит на ура. Сейчас рандом прикручу и отпишусь. Спасибо
Timur Mukhortov
это строка под комментом. крики души, чтоб как то получить конкретный объект из массива. сейчас удалю из сообщения
???????
Продолжаем разговор
???????
Какой корневой тип у вашего JSON объекта?
Dmitriy Orteney
Вроде dio уже разобранный json возращает, т.е. ещё раз decode не надо
???????
Ошибка в том, что у него в JSON - List и он этот List пытается разбирать как Map
Timur Mukhortov
да, я понимаю это, но не понимаю как переписать
???????
Ну яб посоветывал поставить брейкпоинтом и просто пройтись дебагером
???????
Строка за строкой
???????
Тут делов на полминуты
Timur Mukhortov
[
{
"type": "mention",
"text": "@PlugFox"
},
" \nПонятно\nНичего не понял\nНо спасибо)"
]
?
Хм... А может админу создать дс сервер этого канала? Тогда можно будет пообщаться в воисе, показывать демку и тд)
Артем ??
открой страницу дебага, там внизу выбери точки остановки на All exceptions
?
А с этого момента по подробнее
?
Можно ссылочки на каналы?
???????
Это оффициальные каналы гугла
???????
[
{
"type": "link",
"text": "https://discord.gg/N7Yshp4"
}
]
Константин Буланов
Коллеги помогите плиз. Нахожусь в ступоре. Если кто работал с flutter_map и Bloc. Почему то не прорисовывается виджет если его вызывать с карты по клику на маркер. Если этот виджет вызывать аналогично с другого экрана то все нормально открывается. Что это за магия такая?
???????
[
{
"type": "link",
"text": "https://discord.gg/BS8KZyg"
}
]
???????
[
{
"type": "link",
"text": "https://discord.gg/Hc5KD3g"
}
]
?
А есть русскоязычные дс сервера?
Dart Flutter
здравствуйте. Подскажите на какую зарплату ориентироваться можно Junior Flutter?
DVS (Read The F.ng Manual) Studio (NoHello)
30к/м
Roman Cinis
[
{
"type": "link",
"text": "https://dartpad.dev/3a1549c02435c3a2ef64c85a5a35f22f"
},
"\nНаписано криво но работает"
]
Timur Mukhortov
Эту страничку?
?
Почему перестало видеть extension, после того как я его с энумами переместил в другой файл, но при этом сами энумы видно
Артем ??
оу, так у тебя не vs code. тут не подскажу, но страница вроде нужная
Timur Mukhortov
Бог с idea. что я увижу, если открою это в VS? детализацию по эксепшену, который упал?
???????
Оставил тебе в комментах косметические правки по коду
Артем ??
строку, которая кидает этот эксепшн
Артем ??
с чем-то вроде "вот тут не всё в порядке ??"
Roman Cinis
Как мне достичь такой крутизны! Спасибо ещё раз
Timur Mukhortov
Что то вроде этого?)
???????
Тебе не эксепшен надо ловить
???????
А поставить брейкпоинт и обходить построчно выполняемый код
???????
Заглядывая внутрь переменных
???????
И да, в IDEA этого не может не быть
Timur Mukhortov
Окей а что я должен внутри response увидеть?
Timur Mukhortov
А поставить брейкпоинт и обходить построчно выполняемый код
Timur Mukhortov
Заглядывая внутрь переменных
???????
List, Map и тп и тд
???????
И что у кого ты вызываешь
???????
Без этого программистом тебе не быть
Артем ??
[
"насколько помню, dio возвращает не строку в ",
{
"type": "link",
"text": "response.data"
},
""
]
???????
Это, вроде, зависит от того, с какими опциями сам объект дио инициализируешь\
???????
Поэтому гадать что там у него и как - бесполезно (и лениво). Это надо дебагером глянуть. Делов то на полминуты.
Артем ??
вообще много непонятного в коде, поэтому не люблю разбираться в чужом
Timur Mukhortov
верно я со Stream(ом) попробовал, но уже думаю, что не так и нужно дефолтный json
???????
этот enum вообще ни о чем не говорит
Timur Mukhortov
это документация
???????
Смотри дебагером. Строчка за строчкой, каждую переменную.
Timur Mukhortov
здесь видно мой код
Timur Mukhortov
и с какими опциями идет инициализация dio
Timur Mukhortov
спасибо за помощь и фолософию по разработке)
Timur Mukhortov
ну комон) тут две строчки, что вы хотите отдебажить? кишочки dio?)
Timur Mukhortov
первая делает респонс, вторая сериализация
Timur Mukhortov
вторая неправильная, даю подсказку
Timur Mukhortov
у меня не мап)
???????
> две строчки > в этих двух строчках ошибка с типами > все очевидно, дебажить не надо > задает вопрос
Timur Mukhortov
очевидно, что я не хорошо разбираюсь в языке и спросил как правильно приводить что-то к чему то)
Timur Mukhortov
а вы дали совет: будь сильным и внимательным..
???????
Просто посмотреть дебагером
Артем ??
1) убери response type 2) что у тебя в response data? 3) что ты хочешь сделать?
Timur Mukhortov
1 и 2 3. Массив объектов из json сериализовать в List объектов
Timur Mukhortov
[
{
"type": "mention",
"text": "@PlugFox"
},
" да ну хорош:DDDD"
]
???????
[
"У тебя ",
{
"type": "link",
"text": "response.data"
},
" уже List"
]
???????
ты пытаешься этот List запихать в jsonDecode который принимает строку
???????
Убери тут jsonDecode
Roman Vasiliev
Дебаг животворящий)
Roman Vasiliev
Как много жизней он спас
Timur Mukhortov
[
{
"type": "mention",
"text": "@PlugFox"
},
" красота?"
]
???????
[
"Вот, так бы сразу.\nСкобочки вокруг ",
{
"type": "link",
"text": "response.data"
},
" убери, в них нет смысла"
]
Timur Mukhortov
[
{
"type": "mention",
"text": "@PlugFox"
},
" ",
{
"type": "mention",
"text": "@skyfet"
},
" спасибо вам большое.\n\n",
{
"type": "mention",
"text": "@orteney"
},
" вы были правы, я не читал доку. возвращается уже json\n\nРедко дебажу. Наверно поэтому так пренебрегаю таким подходом. Косяк мой."
]
???????
Насколько могу предполагать, dio видет заголовок, что пришел application/json и сам вызывает jsonDecode под капотом
Артем ??
да, dio на основе респонса возвращает объект, у меня так же было)
Артем ??
собственно, поэтому я и не понял, зачем jsonDecode
Timur Mukhortov
После работы остается мало свободного времени, поэтому хочется все врем наскоком решать, чтоб больше успеть попробовать ??
Timur Mukhortov
а потом вот такое вот г. из за этого наскока ??
Timur Mukhortov
Спасибо еще раз всем
Sergey Hottabych
Как параметр handler сделать опциональным? this.handler = null не даёт написать, this.handler = () {} тоже нельзя
Andrey Gaysin
[
"Всем привет! Никак не могу второй день разобраться в ошибке\n",
{
"type": "pre",
"text": "Scaffold.geometryOf() called with a context that does not contain a Scaffold.",
"language": ""
},
"\nпытаюсь сделать Hero анимацию между двумя BottomAppBar. Может быть кто-нибудь сталкивался с этим?"
]
Вадим
[
"при использовании сделать проверку на null\n",
{
"type": "code",
"text": "if (handler != null) {\n handler();\n}"
},
""
]
Вадим
а какое-то значение по умолчанию вроде нельзя сделать
Sergey Hottabych
так использование потом вот такое onPressed: handler
Sergey Hottabych
как там if воткнешь?
Sergey Hottabych
[
"если только вот так\n",
{
"type": "pre",
"text": "onPressed: () { if (handler != null) handler();},",
"language": ""
},
""
]
Sergey Hottabych
но это как-то некрасиво
Вадим
[
{
"type": "code",
"text": "void _handle() {\n if (handler != null) {\n handler();\n }\n}"
},
"\n\n—//—\n\n",
{
"type": "code",
"text": "onPressed: _handle"
},
""
]
Dony Dony
[
"День добрый. Простой вопрос про ",
{
"type": "bold",
"text": "TextField"
},
". По ",
{
"type": "bold",
"text": "дефолту"
},
" нужен ",
{
"type": "bold",
"text": "серый"
},
" а при вводе текста ",
{
"type": "bold",
"text": "onFocus"
},
" - ",
{
"type": "bold",
"text": "белый"
},
" однако",
{
"type": "bold",
"text": "\n"
},
"\n",
{
"type": "bold",
"text": "filled"
},
": true,\n",
{
"type": "bold",
"text": "fillColor"
},
": Colors.",
{
"type": "italic",
"text": "grey"
},
",\n",
{
"type": "bold",
"text": "focusColor"
},
":Colors.",
{
"type": "italic",
"text": "white"
},
",\n\n",
{
"type": "bold",
"text": "focusColor"
},
"- не работает абсолютно. \n\nесть выход кроме как руками ловить onFocus и менять цвет через стеит?\n\nЗаранее спасибо."
]
Sergey Hottabych
[
"Я разобрался, всё просто.\nЕсли не пометить в конструкторе параметр как ",
{
"type": "mention",
"text": "@required"
},
", то он и так будет опциональным"
]
Sergey Hottabych
если handler не указывать, то кнопка будет отображаться как неактивная
Sergey Hottabych
и никак хитрых проверок не нужно делать
Roman Vasiliev
Мы можем конечно перевести ошибку, но думаю и так очевидно в чем проблема
Roman Vasiliev
Видимо scaffold объявляется в том же виджете, либо какие-то велосипеды с контекстами
Andrey Gaysin
но я не понимаю что я делаю не так, если то же самое делать с AppBar, то всё работает
Andrey Gaysin
2 разных виджета со своими Scaffold
Sergey Lavinov
Если это происходит при вызове навигации с Hero, то скорее всего дело в том, что шатл, в котором твой виджет летает между экранами, не содержит скафолда
Andrey Gaysin
но AppBar при этом нормально отрабатывает через Hero
Sergey Lavinov
Не сильно понял последний довод
Sergey Lavinov
[
"Ошибка заключается в том, что в месте использования ",
{
"type": "code",
"text": "Scaffold.geometryOf()"
},
" вверх по дереву нет скафолда. По вашему же утверждению он есть и на первом, и на втором экране"
]
Sergey Lavinov
Значит стоит копать туда, где скафолда нет - а это шатл Hero анимации
Roman Diachenko
как сделать такую лейбочку. Интересует именно заворот на ней
Sergey Lavinov
Самый простой вариант - png или svg, подогнать отступ и сверху над картинкой налепить текст
Andrey Gaysin
Да, на обоих экранах есть Scaffold. И самое интересное в том, что когда я заменяю BottomAppBar на Container, но всё начинает работать
Sergey Lavinov
Значит надо использовать Container))
Roman Diachenko
Контент динамический, не очень решение подойдёт)
Sergey Lavinov
Тогда можно сварганить треугольничек отдельно
Sergey Lavinov
Рисуешь основную плашку с любым контентом, чтобы она выступала влево, и снизу всегда красивый треугольничек)
Roman Diachenko
Думаю нужно применять трансформ)
Sergey Lavinov
Можно и через трансформ
Roman Diachenko
Возможно есть готовые либы уже для этого
Sergey Lavinov
Я думаю, это не та сверхфункциональность, ради которой стоит тянуть зависимости)
Sergey Hottabych
Сам на днях задавался этим вопросом ) Есть класс Banner, но это малость не то. Это диагональная полоска с надписью в уголке (например, стандартный DEBUG).
Renat Fakhrutdinov
когда сделаешь, покажи реализацию)
Renat Fakhrutdinov
А можешь даже либу запилить, чтоб другие пользовались)
George Wiseman
Всем привет Я пока во Flutter новый, хочу уточнить - как дела с картами? Я вижу что какой-то developer preview обычных карт, но может есть что-то типа компонента куда я просто свои тайлы могу загружать?
Anton Zheltov
все нормально
Anton Zheltov
google maps года полтора в релизе
George Wiseman
[
{
"type": "link",
"text": "https://pub.dev/packages/google_maps_flutter"
},
" - это вот это?"
]
Anton Zheltov
[
{
"type": "link",
"text": "https://pub.dev/packages/google_maps"
}
]
Eugene
Во! Зашёл именно с этим вопросом. Карты не работают ниже API 21. К моей неудаче, заказчик каким-то образом нашёл андроид 4.4.2
Eugene
Может кто-нибудь встречал статистику версий андройда именно по России?
Eugene
Последние данные по миру - 6.9%, по мне это жирно
George Wiseman
Это зависит от аудитории. Даже если 6.9 - далеко не все из них ставят хоть что-то из google play
Alexander Maverick
Написать custom decoration, потом юзать его в Container с любым контентом.
George Wiseman
По версиям могу так сказать - вот есть приложение, на 1.6 миллиона инсталляций Android 4.x - 4500. То есть вообще пренебрежимо мало. А пока будете пистаь приложение - еще меньше станет
George Wiseman
Реальные цифры начинаются с 5.1
Alex Kharechko
есть для vscode расширение подсветки синтаксиса grapqhl, как например через тэг gql в js, ато вот так ну такое себе работать?
Alex Kharechko
или может как импортировать gql файлы во флатере?
Sergey Hottabych
Готовую искал, не нашёл
|