Программирование : Dart & Flutter по-русски
Vladislav B
Добрый день! Мне нужно в UI нумеровать элементы целыми числами и по этому же индексу к ним обращаться. Если подробнее, то у меня есть такой список: List _missionMarkers = [];
И заполняетсяя я он как на картинке. Дополнительно мне нужно хранить высоту каждого маркера, его тип и др. Удобно для этого бы подошел вектор из c++, а что можно выбрать в дарте?
Dmitry
все равно Unable to find bundled Java version. говорит доктор
SlavikG
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/76215"
}
]
Vladislav B
Если создать класс в который записывать индекс, то начинается котовасия с редактированием списка. Например удаляя элемент из середины,нужно будет изменить индекс всем последующий
Vladislav B
По причине выше
Vladislav B
Удаление из мапа заставит менять индексы
Vladislav B
Это рождает много лишних операций
Vladislav B
как их этого мне получить порядковый номер мапы
Vladislav B
Перебирать все элементы списка?
Vladislav B
+ подобные гетерры усложнятся
Vladislav B
Возвращаемся к началу, удаляется элемент. Писать еще и функцию перебора последующих? Разрывов в индексах быть не должно
Vladislav B
Да это и есть сейчас прикидка
Vladislav B
Я прост не нашел как спокойно получить индекс у объекта
Vladislav B
Тогда этот индекс не будет знать, например builder от MapMarkers
Vladislav B
Получается, не могу решить элементарнгую задачку в дарт, которая в си решается быренько:)
Dmitry
указал путь все равно не находит доктор джаву
SlavikG
ничем не могу помочь, только если куплю м1 потом
Vladislav B
ща еще разок, я просто не могу понять,может наровном месте туплю
Vladislav B
У меня есть карта. В которой существуют маркеры и полинии
Vladislav B
они вытягиваются из провайдера
Vladislav B
Да, такое я уже предполагал,сейчас контрпримеры
Vladislav B
Маркеру нужно отобржать id. это id я могу ему только записать
Vladislav B
При удалении мне потребуется бежать по всему листу и менять этот текст
Vladislav B
У всех маркеров,что за удаленным
Vladislav B
И еще 1000 других работ связанных с GIS
Vladislav B
Просто порядковый номер в листе
Vladislav B
Я из объекта его не могу получить
Vladislav B
Блин уже вижу как с сотней маркеров оно будет лагать
Vladislav B
Я ему просто накидываю сейчас 200 сотки,а оно уже лагает на середнячках
Maksim Zdanchuk
Кто-нибудь работал с мультипарт запросами?
Vladislav B
где-то я что-то не то делаю, чувствую
Maksim Zdanchuk
мне нужна небольшая помощь
Vladislav B
которые осм, но могут и в гугл
Vladislav B
Поддержка разных поставщиков тоже требуется
Vladislav B
В основном свои серваки будут, но менять надо
Vladislav B
Короче самое логичное, сделать так, порядковый номер записать в мапу, а потом бегать циклом перезаписывать только айдишник
Vladislav B
Статичных тыщу она то обрабатывает
Vladislav B
чувствуются при удалении пробежки, ну да ладно пока что переживем
Vladislav B
Я сейчас еще раз с чувством, с толком, с расстановкой перекурю код, может накосячил где-то
Sviatoslav
Привет,подскажите какую либу для di лучше использовать с flutter_bloc?
Андрей Козак
если на карте объектов дохера, то надо делать кластеризацию серверную
Андрей Козак
клиентская тоже покатит, но лучше серверную конечно
Silent Bezmolvny
[
"На сайте ",
{
"type": "link",
"text": "leanpub.com"
},
" можно официально бесплатно получить эти две книги"
]
Silent Bezmolvny
Еще эту книгу. Но она завершена на половину. Там всё простым языком разжевывается
Денис (DeSharky)
Накидайте пожалуйста идей, как реализовать следующее: есть код экрана, в который необходимо добавить отдельный виджет календаря с полем ввода в виде TextField и открывающегося по нажатию на иконку самого календаря. Суть в том, что это нужно сделать так, чтобы сам календарь не занимал пространство и был поверх виджетов на самом экране. Задача стоит именно в том, чтобы TextField и код календаря были в отдельном calendar.dart
@HLEBR
как получить значение последнего ключа для мапы?
@HLEBR
а то циклом перебирать ключи ради последнего значения не хочется
SlavikG
[
{
"type": "code",
"text": "map.keys.last"
}
]
Andrey
как в yandex_mapkit можно сделать объединение маркеров при отдалении, может есть у кого подобная статейка или реализация?
Andrii
[
"если не ошибаюсь обычный map не сортирован, и нет гарании того что последний элемент в map.keys это последний добавленный.\n\nможно использовать специальный тип map ",
{
"type": "text_link",
"text": "SplayTreeMap",
"href": "https://api.dart.dev/stable/2.12.4/dart-collection/SplayTreeMap-class.html"
},
", а в нем уже lastKey()"
]
Andrii
[
"очень похоже на ",
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/showDatePicker.html"
},
""
]
Денис (DeSharky)
Да, это видел - модальное окно, но мне кажется это не то, что я ищу
@HLEBR
у меня мапа из json копируется, и всегда в одной последовательности получается, так что последний ключ всегда последний
Sidredin Agashirinoff
??????
Sidredin Agashirinoff
можешь отправить ссылки на все 3 книги?
Sidredin Agashirinoff
а всё, нашёл
Juko
в APi выдайот ошибку 403 что делать?
Madi
У меня есть страница - стейтлес виджет, внутрии нее есть 2 стейтфул виджета. Как изменять состояние первого стейтфул виджета из второго ?
Пашка
потому что ваш вопрос из разряда ноу мета
Maksim Zdanchuk
не подскажете, почему ругается на стандартный метод?
Kirill Aparin
Можно ли сделать как-то предзагрузку GoogleMap(google_maps_flutter) с другого экрана, чтобы когда я перешёл на карту, она уже была полностью готова
Kirill Aparin
import нужен
Maksim Zdanchuk
он не предлагает почему-то
Maksim Zdanchuk
а какой конкретней ?
Dmitriy Mukhin
Коллеги, кто-нибудь настраивал пуши через firebase? У меня на ios пуши приходят, но я столкнулся с 2 проблемами: 1. не могу отловить клик событие если приложение выключено, что бы сделать редирект на другой скрин. 2. мне нужно навесить counter на иконку приложения, а если приложение свернуто или выключено не могу отловить новый пуш. Буду благодарен любой помощи!
@HLEBR
кусок моего кода, может быть поможет
Maksim Zdanchuk
можешь у себя где-то найти, если есть
Дмитрий Щербаков
напиши вручную импорт
Дмитрий Щербаков
вариант 2 - перейти с бгмерзгоко АС на VS ))
Maksim Zdanchuk
все никак руки не доходят)
Dmitriy Mukhin
бадж вроде и появляется, если руками сделать. но событие пуша отловить не могу.
Cherokee Rose
Здравствуйте, что тут может быть не так? Переписал пример из учебника
Дмитрий Щербаков
судя по всему из либы http_parser
@HLEBR
dartpad может на хороший код ругаться, запусти дарт на компе локально
Kirill Aparin
null safety выключи
Дмитрий Щербаков
потому что nullsafety а у тебя не final поля класса
Kirill Aparin
У тебя пример старый, без поддержки null safety
Дмитрий Щербаков
и без required
Пашка
проще говоря, данный учебник ныне не актуален
Madi
через flutter_bloc можно это сделать?
Дмитрий Щербаков
BlocBuilder
Madi
то есть для смены состояния создать отдельный блок провайдер?
Adel Gilyazeev
кто-нибудь шарит за плагины под винду? Или как можно дебажить c++ код в VS Code?
Cherokee Rose
Понял, спасибо
Temurxon
лучше codeblocks
Adel Gilyazeev
лан, тогда без дебага, есть где инфа про плагины под окна?
Temurxon
ms-vscode.cpptools
Temurxon
[
{
"type": "link",
"text": "http://cpp.sh/"
}
]
Temurxon
есть сайт если только код
Александр Ануфриев
Привет. Подскажите, пожалуйста, пример по кодогенерации. Чет ничего толкового не могу найти.
Александр Ануфриев
Мне по dart аннтоциям
Adel Gilyazeev
мне бы доки про жизненый цикл плагинов под виндой, их взаимодействие с флаттером, как чё куда пихается, как происходит взаимодействие с EventChanel... Я единственное что понимаю, это как вызвать функции из под дарта а исполнять в нативе
Temurxon
а по конкретней ? либ много json_serializable mobx
Temurxon
ааа под винду не писал не знаю
Adel Gilyazeev
если хочешь что-то своё, то придётся свой кодогенератор писать... Смотри как работают build_runner и всё такое... Я сколько копался в этой теме, так ничего и не понял...
Adel Gilyazeev
так а под другие платформы?
Александр Ануфриев
Хочу сделать маленький класс (модель), обложить его аннотациями и, запустив генерацию, получить класс со всякими методами/getteraми/setteraми
Temurxon
[
{
"type": "link",
"text": "https://flutter.dev/docs/development/platform-integration/platform-channels"
}
]
Александр Ануфриев
Такая же фигня.
Temurxon
а код под платформы для android -> android studio для ios -> xcode вам в помощь
Adel Gilyazeev
я в итоге вручную скрипты пишу... Используя анализатор для парсинга дарт кода и его переделки
Temurxon
дальше пишите что угодно под платформы,можете вызывать другие activity
Александр Ануфриев
Понял, буду копать туда же.
Adel Gilyazeev
тут я всё перекопал... И дальше того как исполнять функции в нативке не понял
Adel Gilyazeev
мне необходимо ивенты платформы кидать во флаттер
Дмитрий Щербаков
Например?
Adel Gilyazeev
Drag`n`Drop из под винды
Adel Gilyazeev
[
"Для затравки, смотри чё там будет в переменной, разберёшься\n",
{
"type": "pre",
"text": "import 'package:analyzer/dart/analysis/features.dart';\nimport 'package:analyzer/dart/analysis/utilities.dart';\n\nvoid main(List args) {\n final parsed = parseFile(\n path:\n '/home/username/snap/flutter/common/flutter/packages/flutter/lib/src/material/app.dart',\n featureSet: FeatureSet.latestLanguageVersion());\n}",
"language": ""
},
""
]
Александр Ануфриев
Спасибо!
Daniil Kolyasnikov
плагины на с
Daniil Kolyasnikov
для винды нативный код вроде как пишется на с
Adel Gilyazeev
плюсы/си, какая разница... Нативный код на любом языке может быть написан))
Adel Gilyazeev
[
"но кажись да, заметил ",
{
"type": "link",
"text": "https://flutter.dev/docs/development/platform-integration/c-interop"
},
"\nсча почитаю"
]
Adel Gilyazeev
вот вообще не обязательно... Главное совместимый интерфейс иметь...
Daniil Kolyasnikov
Да, точно , перепутал
Daniil Kolyasnikov
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
},
" напиши сюда"
]
Adel Gilyazeev
Ну сам движок на плюсах написан... Соответственно у него соглашение о вызовах другое, в которое си не умеет
Daniil Kolyasnikov
с и спп умеют общаться
Daniil Kolyasnikov
общайтесь в личке
Adel Gilyazeev
с не умеет вызывать методы классов спп
Anton Kowalski
Я просто ответил на вопрос, где тут беседа?
Adel Gilyazeev
[
{
"type": "link",
"text": "https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%B5#thiscall"
},
"\nхотя мб умеет"
]
Daniil Kolyasnikov
не агрись, просто информировал, сейчас опять затянется обсуждение на полтора часа, это просто вежливость
Anton Kowalski
Ок, я и не агрился
Adel Gilyazeev
Так как это соглашение о вызове применяется только к C++, оно не имеет схемы декорирования имен C. (С) microsoft
Daniil Kolyasnikov
[
"из",
{
"type": "link",
"text": "https://stackoverflow.com/questions/2744181/how-to-call-c-function-from-c"
},
""
]
Adel Gilyazeev
С++ может из си вызывать, большинство компилируемых языков умеют вызывать си функции... Но вот си не умеет вызывать все посторонние, в том числе с++ функции-методы класса
Adel Gilyazeev
к тому же символ перегруженных функций в объектном файле имеют не стандартизированное обозначение, поэтому при линковке объектных файлов с различных с++ компиляторов может произойти ошибка, отсутствия вызываемых символов
Sergey Hottabych
Как быть, есть 2 класса — API и Auth. Когда в API приходит ответ 401 Unauthenticated, он должен вызвать refreshToken из Auth, дождаться завершения рефреша, и после этого повторить запрос. Вопрос, как это архитектурно сделать? API расположен в провайдере выше, Auth после него (в конструктор прокидывается ссылка на API), то есть API не знает про Auth и не может напрямую залезть в него. Я сделал через Event Bus — кидаю RefreshSessionEvent, но тогда непонятно, как повторить запрос. Если в параметр ивента закинуть коллбэк с функцией, то непонятно, как вернуть её результат.
Темирлан
Такой вопрос. Есть такая палочка под углом 45 градусов. Можно ли как-то ее нарисовать не используя канвас или не прибегая к svg? или не париться и взять svg
Sergey Hottabych
А у меня не Dio, у нас GraphQL юзается
Fearless Cry
а какая разница?
Fearless Cry
graphql то поверх http работает наверняка
Михаил Владимирович
Здравствуйте, может кто нибудь обьяснить что я не так делаю? Прописал профайл флаттера через баш файл Но по итогу терминал не хочет дружить с флаттером
Михаил Владимирович
Терминал перезапускал после создания профайла
Fearless Cry
а файл случаем не .zshrc должен называться вместо баш профайла?
Урусай
У него свой файл вроде
Adel Gilyazeev
Кстати хороший вопрос, чего прогоняют то? Или в работе дают ответы на такие вопросы? Я думал там только объявления о работе
Sergey Hottabych
[
"да, на http, но я эту либу юзаю ",
{
"type": "link",
"text": "https://pub.dev/packages/graphql"
},
"\nне вижу, где там интерсепторы\nа так мысль хорошая"
]
Михаил Владимирович
Щас попробую
Fearless Cry
[
{
"type": "link",
"text": "https://pub.dev/packages/gql_dio_link"
},
"?"
]
Sergey Hottabych
[
"О, а я сейчас вот на эту штуку смотрю:\n",
{
"type": "link",
"text": "https://pub.dev/packages/fresh_graphql"
},
""
]
Михаил Владимирович
Не помогло ????????
Fearless Cry
.zschrc а не .zshrc-profile
Alexey
[
{
"type": "link",
"text": "https://stackoverflow.com/questions/58400500/zsh-command-not-found-flutter"
},
" если нет его - создай"
]
Alex
и source .zshrc не забудь прописать
Михаил Владимирович
vim source .zshrc_profile правильно?
Alex
редактируешь .zshrc файл как тебе нужно
Daniil Kolyasnikov
~/.zshrc на catalina +
Alex
выходишь с вима или где там там редактируешь
Alex
[
"потому ",
{
"type": "code",
"text": "source ~/.zshrc"
},
""
]
Daniil Kolyasnikov
можно просто перезапустить терминал
Alex
не всегда это работает
Alex
Он может где-то подсасываться в редакторе, и в итоге не сработает
Alex
Проще source прописать
netspike
The seller and company names associated with your app do not reflect the name “AppName” in the app or its metadata, as required by Guideline 5.2.1 of the App Store Review Guidelines.
netspike
кто сталкивался с этой ошибкой ?
Maksim Zdanchuk
кто-нибудь знает, почему после git add . не добавляются файлы?
Alex
Потому что ты в папке ios
Михаил Владимирович
Всем большое спасибо
Михаил Владимирович
Все получилось ??
Alex
Осталось приложение написать ??
Михаил Владимирович
Будем стараться Я пока так скажем новичок с нулевым опытом и большим желанием кодить
Михаил Владимирович
Посмотрим что получиться
Andrey
подскажите как пофиксить, пожалуйста
Harley
Там дословно написано придется искать другой метод
Andrey
Это invokeMethod яндекс карт возвращает такой результат, я его пытаюсь запарсить
Jamshed Rakhmonov
Как можно отправить пост запрос при открытии tabbar без ontap?
Andrey
в функцию, которая его открывает засунуть
Temurxon
есть вопрос как правильно юзать template функции ? типа Future > foo() {}
Temurxon
или только через классы ?
Temurxon
а как лучше имплементировать на C++ было легче а тут не понимаю
d
ну вот самый банальный пример без практического применения
d
void main() { final someInt = 1; printWithGeneric (someInt); }
void printWithGeneric(T arg) => print(arg);
d
то есть у названия функции надо добавить <> еще
Temurxon
ругается что нету T
|