Программирование : Dart & Flutter по-русски
Batyrzhan uulu
Class A{Set myValue; A({this.myValue})} myValue must be initialised
Дмитрий Щербаков
Set myValue переделай на final Set myValue
Дмитрий Щербаков
и еще сделай его required)
Дмитрий Щербаков
а riverpod? если честно не щупал еще
Batyrzhan uulu
Если сделвю required, то в cloneWith тоже нужно бцдет пепедавать?
Дмитрий Щербаков
required = обязательное свойство/поле/параметр
Илья Маненков
Ну как бы так и работает, Если делаю со второго скрина Navigator.pop то все ок, а свайпом не отрабатывает
Kit Khilobok
Видел тоже, но что-то странное
Дмитрий Щербаков
самое просто что приходит в голову в первом экране ждать закрытия второго и вызывать билд явно Navigator.of(context).pushNamed('sdfsdf') ..then((value) { setState() { .... } });
Илья Маненков
Я не много ошибся не совсем билд нужен
Kit Khilobok
Только что проверил, билд вызывается в обоих случаях
Илья Маненков
Воот код Если возвращаюсь назад navigator pop Функциия getChatUsers отрабатывает Если свайпом то нет
Дмитрий Щербаков
[
"есть какое то древнее ишью ",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/62744"
},
""
]
Дмитрий Щербаков
хз не на чем проверить
Дмитрий Щербаков
почему там async?
Kit Khilobok
А пардонте, билд НЕ вызывается в обоих случаях)
Илья Маненков
А как я await без async )
Илья Маненков
Я уже починил, оказывается я дурак )) Но спасибо)
Vyacheslav
отправка идет бекграундом или только при работе приложения? Как hive? Стоит на него уйти с sqflite?
Дмитрий Щербаков
только при работе приложения. я считаю что в бэкраунде если ты не приложение такси не надо жрать батер
Дмитрий Щербаков
по hive - если модели простые, нет кучи связанности и кучи inner joino'ов то отлично. если есть то я считаю что архитектура не оч)
Дмитрий Щербаков
вот условно приложение интеренет- магазина. ты такой набиваешь корзину и она пересчитывается каждый раз при добавлении чего то. сначала сохранил "снимок" корзины - пушнул на сервер, обновил цены. пропал инет в процессе, подождал (показываешь спинер пока нет связи"), связь появилась, пушнул обновил.
Vyacheslav
я чисто для сохранения инфо об отправке, типа чека в сбербанке
Дмитрий Щербаков
некая как бы очередь для отправки на сервер
Алдияр Сахан
я менял версия flutter из 2 на 1.2.1. Как можно dart sdk снизить?
Stepan Eticon
Ребята в каком случае, кубит может не еммитить состояние?
Андрей Козак
когда состояние = предыдущему
Stepan Eticon
Но состояние которое в emit не равно предыдущему
Stepan Eticon
А оно не меняет
Stepan Eticon
Хотя функция вызывается
Stepan Eticon
Все работает без ошибок
Stepan Eticon
Только не меняется состояние
Tagir
[
"привет, как добавить в Hive ",
{
"type": "link",
"text": "Hive.box"
},
"('profile') лист и обновлять его?"
]
Дмитрий Щербаков
yourBox.put(someid, yourList)
Дмитрий Щербаков
обновлять = перезаписать существующий
Stepan Eticon
Да здесь нет перезаписи существующего
Stepan Eticon
Это в принципе не возможно
Eugene Alitz
Не обязательно, сам бокс уже по сути является коллекцией, и можно добавлять элементы прямо в него
Daniil Kolyasnikov
А ты не описал в стейте методы для сравнения ?
Дмитрий Щербаков
насколько я помню перезаписать элемент - "дешевле". Например у нас есть бокс в котором хранятся заказы. у каждого заказа есть пару массивов разных элементов. нам нужно изменить количество у 4 индекса 2го массива? ;)
Daniil Kolyasnikov
Что вот ? для класса LoadedEntryState методы для сравнения перезаписаны ?
Дмитрий Щербаков
учитывая что у нас флеш память а не винт, грех не пользоваться
Stepan Eticon
Тип остальные то экраны по этому принципу норм работают
Дмитрий Щербаков
как там в sql типа insert update и паттерн upsert (update if exist)
Eugene Alitz
Верно, но это ты уже про performance говоришь. А в плане способов работы с листами, можно и так и так
Daniil Kolyasnikov
Экраны не причем, просто builder получает новое состояние, но из-за того, что не переписаны методы сравнения, объекты для vm счиаются одинаковыми.
Stepan Eticon
А как их переписать
Stepan Eticon
Есть пример?
Дмитрий Щербаков
Просто hive то не sql это Кей валюе хранилище, и чтобы обновить поле все равно нужно вытащить весь объект в озу
Stepan Eticon
Почему тогда остальные билжеры работают?
Дмитрий Щербаков
И потом это валюе записать
Дмитрий Щербаков
И получится что мы все равно перезаписываем весь объект (value) тока допом ещё тратим ресурсы на обновление конкретного элемента
Дмитрий Щербаков
все боксы хайва это плоские таблицы с 2 колонками ключ - значение
Дмитрий Щербаков
если нужно обновить кусочек значения - обновится все значение
Vyacheslav
посмотри пакет fvm это помогает, сам так недавно понижал себе. Но там момент, что сборка будет выполняться на глобальной версии флаттера, надо руками путь менять (видимо я не разобрался до конца)
Алдияр Сахан
надо руками путь менять
Kit Khilobok
Тоже с fvm долгое время игрался, но есть путь куда проще Скачать две разные версии флаттера и переключаться между ними в ручную)
Алдияр Сахан
так хотел сделать))
Алдияр Сахан
но путь менять)
Kit Khilobok
Я так fvm и не настроил, чтобы он работал прямо красиво из коробки и везде, где нужно цеплялась нужная версия флаттера
Vyacheslav
в оф доках в разделе установки посмотри, как путь прописывается
Vyacheslav
у меня круто все пашет, вот только сборку бандла андроид когда делаешь, приходится ручками путь менять
Алдияр Сахан
[
"я менял export PATH=\"",
{
"type": "cashtag",
"text": "$PATH"
},
":\nно версия 2"
]
Vyacheslav
посмотри на stackowerflow там есть подробные инструкции, я не могу пока
Vyacheslav
там находил все и делал
Andrey Unger
Господа, кто на dart бэкенд пишет? Какой фреймверк в качестве вебсервера сейчас популярен? Что для ORM ?
wYwYw
Как ElevatedButton сделать disabled ?
Andrew Shalaev
[
{
"type": "code",
"text": "onPressed: null"
}
]
wYwYw
А цвет отдельно задать нужно будет ? Он же сам цвет кнопки не изменит
Radomir Epur
у тебя есть шанс исправиться
Andrew Shalaev
[
"через стейт видимо\nтут гляньте ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/49351648/how-do-i-disable-a-button-in-flutter"
},
""
]
Алдияр Сахан
я менял версия на v1.2.1, но dart sdk остается, можно его менят?
Tagir
так насчет hive так делать? у меня у профиля есть поле с массивом мне типа сначала достать, что такм есть, потом заново обновленный массив положить?
Илья Маненков
Никогда не запускал код на mac/ios, столкнулся с такой проблемой, может подскажет кто Какие то зависимости от fb я как понял ломают, но я понятия не имею что с этим делать
Tagir
похоже на конфликты версий
Илья Маненков
Тоесть мне нужно в yaml иди решать эту проблему?
wYwYw
Сделал. Еще вопрос нет инструмента чтобы смотреть что в стейте в данный момент ? Для хранения состояния использую Bloc
Andrew Shalaev
Можно через обсервер следить за переходами стейта в Blocе
wYwYw
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/WidgetsBinding/addObserver.html"
},
"\nЭто он ?"
]
Juko
Выдайот ошибку помашите пожалуйста
Andrew Shalaev
[
{
"type": "link",
"text": "https://bloclibrary.dev/#/coreconcepts?id=observing-a-bloc"
},
" прочитайте всю эту страницу полностью, и все вопросы отпадут)"
]
Anton Kowalski
Фото, ну а как же. Принтскрин не учили?
Andrew Shalaev
Наводим на строку с ошибкой Quick Fix import ... что-то там... ????? PROFIT!
Juko
Проста через пк не могу сидеть впн тока на телефоне
Anton Kowalski
Телеграм через VPN?
Juko
Я живу в Туркменистане
Юджин Баладжахе
Товарищи, что с hive_generator случилось, раньше он сам генерировал part, а теперь ругается что их нет. Или я как-то не так его запускаю?
Mikhail Smetannikov
в самих файлах есть part 'filename.g.dart'?
Roman Vasiliev
Он ругается что строчки нет, и генераторы сами их никогда не пишут
Юджин Баладжахе
Сейчас попробую
Mitai
[
{
"type": "link",
"text": "https://pub.dev/packages/shelf"
}
]
Дмитрий Щербаков
Зачем этот пакет? Нужно генерить билд раннер
Юджин Баладжахе
Урра, заработало, СПАСИБО!
Юджин Баладжахе
не понял, но ладно))
Oleg
Привет. Подскажите пожалуйста, как сохранять данные локально (емейл и пароль) но закодированными или в виде ключа
ksaipov
Здравствуйте, я новичок как можно писать backend , я писал в сайтах сейчас изучаю flutter используя php, не могу найти хорошего туториала
Sidredin Agashirinoff
изпользуй php на беке
ksaipov
Но не знаю как подключить ,
Sidredin Agashirinoff
в смысле подключить?
Sidredin Agashirinoff
Ты соединяешься с беком по апи
Sidredin Agashirinoff
куда?
Sidredin Agashirinoff
А, я новичок во флаттер. Не знаю ещё, как с запросами работать
Yerassyl Maikhanov
Посмотри туториал на YouTube
Yerassyl Maikhanov
Прям на официальном канале
Yerassyl Maikhanov
Там есть хорошая инструкция
Sidredin Agashirinoff
основы? Можешь скинуть ссылку?
ksaipov
Да у меня запросы, Final string url = “https” и так дале , я это видел в туториале но не получается
Yerassyl Maikhanov
[
{
"type": "link",
"text": "https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw"
}
]
Yerassyl Maikhanov
boring show тут
Sidredin Agashirinoff
Спасибо большое!
Oleg
Привет. Подскажите пожалуйста, как сохранять данные локально (емейл и пароль) но закодированными или в виде ключа
Sidredin Agashirinoff
[
"это? ",
{
"type": "link",
"text": "https://www.youtube.com/watch?v=eikOZzfc0l4&list=PLjxrf2q8roU3ahJVrSgAnPjzkpGmL9Czl"
},
""
]
Yerassyl Maikhanov
этот плейлист
Yerassyl Maikhanov
с самого начала смотри
Sidredin Agashirinoff
??????
Yerassyl Maikhanov
secure storage
Rudolf Oganesyan
подскажите, пожалуйста, толковые видео-курсы по флаттеру? что-то может типа lbta на ios
Rudolf Oganesyan
на ерунду не хочется время тратить:/
Валерий
и как же интересно хайв поможет ему шифровать данные?
Эмиль
Ребят, подскажите, как мне значение вытащить из мэпа, если моя переменная совпадает со значением ключа?
Andrew Shalaev
[
{
"type": "link",
"text": "https://docs.hivedb.dev/#/advanced/encrypted_box"
}
]
Алдияр Сахан
это из за чего может быть
Эмиль
Серьезно? А я сижу голову ломаю ?? Спасибо большое))
Sidredin Agashirinoff
[
"вот мне только-что порекомендовали официальные курсы ",
{
"type": "link",
"text": "https://youtube.com/playlist?list=PLjxrf2q8roU3ahJVrSgAnPjzkpGmL9Czl"
},
" Смотри с начала"
]
Rudolf Oganesyan
спасибо)
Sidredin Agashirinoff
на флаттер или на джаву?
Sidredin Agashirinoff
на котлин всё ещё мало вакансий?
$hteyd
А они почти все смежные. Почти везде нужны Java + Kotlin разрабы
Sidredin Agashirinoff
то есть придётся и джаву изучить?
$hteyd
Походу, прост легаси весь на ней
$hteyd
В вс код есть хорошие комбинации Ctrl + . Ctrl + space Решают много проблем)
Gram Atir
[
"Сорян, что влетаю сходу с вопросом, всё перекопал, не могу найти адекватного решения. Заранее спасибо за ответ.\n\nПотребовалось на всём приложении перехватывать свайп тремя пальцами.\n\nИз примеров нашёл вот это: ",
{
"type": "link",
"text": "https://gist.github.com/guptahitesh121/ca7fa34d73b8b024823c85dd0c7f687d"
},
"\n\nИ вознимает два вопроса. Первый - неужели для такого достаточно тривиального таска нужно вот это вот всё и никто ничего готового не подвёз?\n\nИ второй - я нуб и не догоняю, как имплементировать это в случае, когда мне не нужно ничего апдейтить, как в примере."
]
Юджин Баладжахе
[
"Неужели hive не умеет работать с наследованием дата-классов?\nУ меня так:\n",
{
"type": "pre",
"text": "class Certificate extends AbstractRef {}\n",
"language": ""
},
"Сделал адаптеры на оба класса, в рантайме получаю ошибку при чтении данных (запись прошла нормально). Уже стрелять, или еще можно починить?"
]
Yerassyl Maikhanov
не умеет )
Yerassyl Maikhanov
у них кстати issue на этот счет есть
Юджин Баладжахе
Значит HIVE-ГОВНО, уйду к другой! )))
Yerassyl Maikhanov
ну не скажи, она норм так работает
Юджин Баладжахе
Да я не против, но в энтерпрайзе без наследования никуда, у меня сложные данные, увы. Можно конечно по старинке в джейсон складывать, но там фотографии, перекачка в base64 это очень ресурсоемко.
Yerassyl Maikhanov
согласен, я конкретные вещи в ней кладу когда нужна бд под все платформы вместо shared_preferences
Yerassyl Maikhanov
+ некоторые данные, например accounting из-за частых обновлений лежит в hive
Юджин Баладжахе
Но ведь бинарь в shared_preferences не положить, правильно? Поищу другие тогда...
Maksim
Загружаю картинки из интернета внутри listview.builder Проблема в том, что не все картинки загружаются, хотя ссылка верная Как это можно исправить?
Yerassyl Maikhanov
так стоп, а зачем картинки ложить в hive? их можно на устройстве сохранить и в hive только ссылку кидать
les forest
воу воу, палехше
Юджин Баладжахе
В принципе идея конечно, в темпорари, только кода больше - уникальные имена, не забывать чистить мусор, и так далее.
$hteyd
Ток ты попробую прожимать эти клавиши на местах ошибок
$hteyd
А не в рандомном месте)
Juko
Так они визде отсутствуют
Jamshed Rakhmonov
Кто то работал с pdf_previewer?
Viktor K
я какой использовал, а в чем вопрос?
Jamshed Rakhmonov
Я хочу отобразить первую страничку пдф файла до открытия самого пдф файла
Viktor K
У меня используется превьюха картинкой из апи грузится, сервер как то генерит, по твоему вопросу не подскажу
Jamshed Rakhmonov
Например как в телеге,отображается первая страничка
Moon
[
"подскажите почему может не устанавливаться Intel® HAXM для андроид эмулятора,\n\nошибка в консоли при установке:\n",
{
"type": "pre",
"text": "Intel® HAXM installation failed.",
"language": ""
},
""
]
admin
Всем привет! Не могли бы помочь, почему flutter inspector у меня показывает всё размыто?
Bek
[
{
"type": "link",
"text": "edumanager.uz"
}
]
Денис (DeSharky)
Всем привет. Может кто поделиться доступным для понимания примером factory? (Пример использования и реализации)
Ivan
[
{
"type": "link",
"text": "https://metanit.com/dart/tutorial/4.9.php"
}
]
Денис (DeSharky)
Спасибо ??
ManBearPig
Виртуалищацию в биосе включить нужно. Если у intel. У amd есть с этим проблемы, у Android Studio есть сборка бод AMD, но работать не на всех будет на райзен да на феном -нет .(если ос Win) если у вас такие проблемы, то нужно будет Linux ставить
ManBearPig
Если intel то посмотреть нужно, в настройках компонентов ос
ManBearPig
Что? Показать 1ю страницу файла до его открытия ???
Andrew Piterov
Всем привет! В firebase_messaging: "^8.0.0-dev.15" из-за этой строчки возникает ошибка FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler); Не подскажите в чем проблема? Вроде все по документации сделано.
Jamshed Rakhmonov
Ну тип того
ManBearPig
Фантазии у вас ) Экстрасенсорных способностей у фреймворка не обнаружено) И хорооо)
ManBearPig
Я кажется понял что вы хотите
Jamshed Rakhmonov
Да точно
ManBearPig
Титульный вивиджет
Jamshed Rakhmonov
Как здесь
ManBearPig
Мне как то очень смутное верится что без прочтения файла это возможно)
ManBearPig
Но выход прост
Олжас Сулеймен
а может ли нативная либа запускать дарт функцию в одтельном изоляте? например сервер где сам сервер написан на нативном языке и в него прокидываются дарт хандлеры на роуты
Jamshed Rakhmonov
Я пытался но не смог и решил в сервере все это сделать как и отобразить с помощью network image
ManBearPig
В приложении есть assets
ManBearPig
Заводите (если не из сети pdf
Jamshed Rakhmonov
Pdf из сети в этом и проблема
ManBearPig
2 директории в одной *.pdf В другой *.png/jpeg
Jamshed Rakhmonov
Иначе думаю помогло бы pdf render
ManBearPig
Нет проблем абсолютно. У всего есть адрес или id,
ManBearPig
Сопоставляете id из карты или url
Jamshed Rakhmonov
Я хотел чтоб без изображения или отобразить сам пдф в блоке
ManBearPig
С тем файлом который нужен. Файл будет у вас как декорации, оборачивается в Inkwall
|