Программирование : Dart & Flutter по-русски
Дмитрий Щербаков
возьми линейку ??
Andrew Vasilevskii
хм у меня прозе все ок вы материал юзаете да?
ManBearPig
Согласен , Но заметьте, Я НЕ писал что везде он нужен, отметил только что часто так можно уменьшить кол во кода
ManBearPig
И да это Не только наложение ) Хотя это одна из фишек)
MiT
Как часто у вас идет копирование стилей и названий?)
Дмитрий Щербаков
пока не согласуют конечный вариант
MiT
Уменьшить кол-во кода не всегда хорошо)
MiT
А потом полный рефакторинг?
Andrew Vasilevskii
Еще и время на рефакторинг есть, во люди живут =(
Дмитрий Щербаков
не ну там рефакторинг же не нежделю
Дмитрий Щербаков
день 2 макс
ManBearPig
Если Вы заметили все писалось в контексте выше описанного кейса, когда можно просто стандартный виджет использовать ) А так да) вы правы)
Дмитрий Щербаков
запилил фичу - рефакторинг
Дмитрий Щербаков
и все ок
Sanzhar
Подскажите пожвлуйста можно ли сделать автофилл для андроидов без сервисов гугла итд? Типа также как и на ios чтобы сразу появляется автофилл
Andrew Vasilevskii
Попробую еще раз испытать удачу, возможно кто-то пишет так же под Flutter Web ищу способ добавить PDF View с поддержкой гиперссылок) либо возможно кто-то знает почему в некоторых браузерах айфрейм с blank скрином, спасибо)
Dmitry Demchenko
Есть виджет AutofillGroup который предоставляет необходимое для ОС для автозаполнения, но нужна детальная настройка TextEdit виджетов
Rahat Saparov
Добрый день. Для МП хотел добавит такую кнопку, чтобы поверх всех окон работала. Подскажите пожалуйста что можно для этого использовать, мб плагины. Заранее спасибо
ManBearPig
Коллеги хелл ...... Есть ли пакет для nfc с поддержкой для ios .
d
[
"?\n\n",
{
"type": "link",
"text": "https://pub.dev/packages/nfc_manager"
}
]
ManBearPig
Спасибо, не заметил его)))
denis denis
Добрый день.а для работы с расширениями есть готовое решение?
Michael Lazebny
extensions ? :))
denis denis
начал выкладываать приложение marke. Оно больше 200 мб. Выгрузил файлы mp3 в obb. Теперь вопрос как получить хранилище (StorageManager для java). Есть решение или подключать java
ManBearPig
mp3 можно просто на сервер
ManBearPig
Зачем это внутри ?
denis denis
хочу чтобы без интернета работало приложение
ManBearPig
Без авторизации?
denis denis
без..очень простое приложение
ManBearPig
Просто, как вариант, при авторизации скачивать?
Владислав
Да просто на любой файлообменник(skype) выложить и подтягивать в приложение при первом открытии
denis denis
вопрос как путь получить до файла
ManBearPig
Я не уверен, но, как вариант сохранить в байтах файл после первого открытия
denis denis
try { String obbFilePath = mContext.getObbDir() + "/" + "main.{package_name}.{version_code}.obb"; ZipResourceFile expansionFile = new ZipResourceFile(obbFilePath); InputStream inputStream = mExpansionFile.getInputStream("1.mp3"); } catch (Exception e) { Log.d(TAG, "Exception loading obb: " + e); }
denis denis
сайм файл автоматически market подкачает при первом запуске..вопрос как с ним работать..
ManBearPig
Но зачем try?)
denis denis
этот код от android
denis denis
[
{
"type": "link",
"text": "https://coderoad.ru/36940103/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B8%D0%BB%D0%B8-%D0%B8%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D1%8F%D0%B5%D0%BC%D1%8B%D1%85-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-obb-android"
}
]
Владислав
ну для получения всяких дирректорий есть path_provider
Євгеній Сергійович
Подскажите, почему если я использую провайдер в одном файле мейнт вот так:
Євгеній Сергійович
То все работает
Євгеній Сергійович
А если я WordsSelector вынесу в отдельный файл
Євгеній Сергійович
То падает такая ошибка
Євгеній Сергійович
Помогите пожалуйста
Alex Wow
Попробуй сделать import counter as cs И возьми из этого неймспейса свой каунтер
Alex Wow
Там случайно нет ещё одного каунтера
Eldar
Ребя подскажите, чем конкретно плох ГетХ ?
Kit Khilobok
Этот вопрос всплывает здесь с завидной регулярностью, мне кажется стоит сообщение с ответом на него закрепить))
Владимир
Всем привет, указал в ListView reverse: true, и после этого полоса прокрутки стала двигаться в обратную от курсора сторону. Пытался скинуть видео, но бот видимо удалил.
Дмитрий Щербаков
из основного - глобальные мутабельные стейты
SlavikG
что лучшее из подобных?
Eldar
В смысле, что их можно нечаянно поменять из других модулей?
Дмитрий Щербаков
ну попробуй. он не то что бы прям ваще плохой
Дмитрий Щербаков
просто в ногу там себе стрельнуть изи
Дмитрий Щербаков
берешь любой и пробуешь
Дмитрий Щербаков
не понравилось - следующий)
Дмитрий Щербаков
ничо не понравилось - пишешь свой как Surf ??
Дмитрий Щербаков
мутабельный стейт плох тем что его может изменить кто угодно где угодно, а если еще и глобальный он , баги будут веселые. и чем больше апка тем веселее их будет разгребать
Nickolay Dudin
Ребят, кто-нибудь знает почему нельзя обернуть CupertinoSearchTextField в Row, чтобы рядом добавить кнопку например? Пишет: RenderFlex children have non-zero flex but incoming width constraints are unbounded. Пробовал оборачивать в SizedBox с шириной и в Expanded, не помогло
Владимир
как скинуть видео в этом чате? пробовал через ссылку, все равно удалило
Дмитрий Щербаков
покажи код)
Євгеній Сергійович
Не помогло, все таже ошибка.
Eldar
а если не лазить в чужой стейт то других проблем не будет ?
Євгеній Сергійович
Посмотрите, может подскажите почему не работает?
Дмитрий Щербаков
Попробуй и все) это же не совсем про стейт менеджер, это комбайн который в себе содержит и стейт и навигацию и dependency manager . получается у тебя прила очень на него завязана и брейкинг чейнж какой нить заставит тебя все переписывать. я предпочитаю разделять ответственности и не хранить все яйца в 1корзине
ManBearPig
Хм, а что, наш Яков из Surf?)
Alexandr Drobyshev
да на все прила завязана очень, а то на блок и провайдер она не завязана)
Дмитрий Щербаков
там еще и блок форкнули кста ??
Alexandr Drobyshev
хоть я и хейтер гетхиксов) но завязана на все
Vitalii Ishkevych
В чем отличие MaterialApp() от CoupertinoApp()? И будет ли оно работать на 2 ос сразу?
Дмитрий Щербаков
будет работать и там и там
Vitalii Ishkevych
А что лучше Материал или Купертино?
Дмитрий Щербаков
я бы этот вопрос дизайнеру задал
Дмитрий Щербаков
той прилы которую ты делаешь
Дмитрий Щербаков
разные стайл гайды
Дмитрий Щербаков
разное поведение
Michael Lazebny
Будет ли материал АПП выглядит нативно на иос ?
Vitalii Ishkevych
Подскажите шо делать с этой ошибкой
Дмитрий Щербаков
ты можешь комбинировать материал и купертино и сделать везде одинаково)
A
[
{
"type": "bot_command",
"text": "/stat@combot"
}
]
Combot
Total messages: 412714
Дмитрий Щербаков
если там нет никакой анимации - в фотошопе
Дмитрий Щербаков
или упороться и рисовать виджетами)
Дмитрий Щербаков
Rive как вариант
Дмитрий Щербаков
смотря какая
A
можете подсказать какими?
Дмитрий Щербаков
покажи какая там анимация)
ManBearPig
[
{
"type": "mention",
"text": "@Jksemenyuk"
},
" ?"
]
Євгеній Сергійович
Я пробовал импортировать неймспейс как то, не работает всеравно
Alexandr Drobyshev
видно же что на скрине
Євгеній Сергійович
ВОт код сейчас такой, и он не работает.
A
ну пока что нету но по моему 3 круглишка скролятся и то что в звднем фоне тоде по кругу движеться
Євгеній Сергійович
А вот так работает, если все в файле мейн, но мене ведь надо чтобы я мог импортировать виджет с другого файла.
Дмитрий Щербаков
ну смотри. это Stack а внутри него AnimatedContainer'ы в которых твои круги. Это если по простому пути
A
ага спасибо вам большое
Alexandr Drobyshev
прям заставили даже проверить
Alexandr Drobyshev
все прекрасно работает
Євгеній Сергійович
Что же делать? Может обновить зависимости? Какие там команды вводить?
Євгеній Сергійович
Pun clear pub get?
Дмитрий Щербаков
тоже ща проверил ахаха все работает
Alexandr Drobyshev
ну хз проект у вас не большой) можете тупо пересоздать) можете попробовать flutter clean или как то. так
Дмитрий Щербаков
прокрастинация от рефакторинга типа
Alexandr Drobyshev
попробуйте может рестартануть ide если это андроид студия там есть что то типа инвалидате кеш в вс коде хз мало работал))
Alexandr Drobyshev
а ну у вас вс код видно же на скрине
Andrew Vasilevskii
Привет, такой вопрос, если ассеты лежат не в руте, а в пакете (картинка понятно можно AssetImage(..., package: 'myPack')
Andrew Vasilevskii
а как строку/html подргузить?
Andrew Vasilevskii
нашел только способ через испорт pacakge/myPack/asset/html.html
Andrew Vasilevskii
но как-то не симпатично
Євгеній Сергійович
А какая версия Provider? У меня 5.0.0
Дмитрий Щербаков
[
"вот сделай так:\n\nText('${",
{
"type": "link",
"text": "context.watch"
},
" ().count}')"
]
Дмитрий Щербаков
а в модельке Counter сделай геттер count
Alexandr Drobyshev
у него есть геттер валуе) какая разница, да и watch или не ватч не вжано по сути) оно должно видеть
Alexandr Drobyshev
[
"provider:\n dependency: \"direct main\"\n description:\n name: provider\n url: \"",
{
"type": "link",
"text": "https://pub.dartlang.org"
},
"\"\n source: hosted\n version: \"5.0.0\""
]
Alexandr Drobyshev
да и тоже не важно какая) все равно должно работать)
Дмитрий Щербаков
Там поди с импортами хрень какая
Миша
Ребят, никто не в курсе, как сделать так, чтобы при декоде из json \n и \t пропадали из текста, а не просто было символами?
Kazbek Beteev
Всем привет! Совсем недавно экспериментирую в dart и flutter. Подскажите, почему после сета значения в стейт не перерисовывается виджет?
Євгеній Сергійович
[
"name: wordsapp\ndescription: A new Flutter project.\n\n",
{
"type": "bot_command",
"text": "/CoreFoundationKeys"
},
".html\nversion: 1.0.0+1\n\nenvironment:\n sdk: \">=2.12.0 <3.0.0\"\n\ndependencies:\n http:\n flutter:\n sdk: flutter\n shared_preferences: ^2.0.6\n\n\n \n cupertino_icons: ^1.0.2\n\n\n provider: ^5.0.0\n\ndev_dependencies:\n flutter_test:\n sdk: flutter\n\n build_runner: ^1.12.2\n\n\n\nflutter:\n\n \n uses-material-design: true\n\n assets:\n - assets/test.jpeg"
]
Євгеній Сергійович
Вот мой ямл.
Євгеній Сергійович
Может там проблема?
Kazbek Beteev
А здесь вызываю этот метод
Kazbek Beteev
Собственно, после перезахода на экран, все изменения нужные появляются.
Alexandr Drobyshev
шо то сегодня день чудес у всех))
Alexandr Drobyshev
и ошибок нет?)
Kazbek Beteev
Ошибок нет, да
Alexandr Drobyshev
вы уверены что сетстейт вызывается вообще?
Alexandr Drobyshev
это же асинхронность может на момент инитстейт там пусто
Kazbek Beteev
Захожу на экран - изменения не появляются. Выхожу на предыдущий, захожу обратно - нужные данные на месте
Alexandr Drobyshev
ну не сложно же продебажить
Kazbek Beteev
Вот здесь вызываю setState
Alexandr Drobyshev
или кнпока с жучком и точками останова или хотя бы тупо print() в консоль
Alexandr Drobyshev
там есть улсовие при котором он не вызывается, я и спрашиваю вы уверены что он вызывается? вы дебажили?
Kazbek Beteev
Да, я уверен, что данные есть.
Євгеній Сергійович
[
"Посмотрите пожалуйста на мой ямл, может там проблема?\n\nname: wordsapp\ndescription: A new Flutter project.\n\n",
{
"type": "bot_command",
"text": "/CoreFoundationKeys"
},
".html\nversion: 1.0.0+1\n\nenvironment:\n sdk: \">=2.12.0 <3.0.0\"\n\ndependencies:\n http:\n flutter:\n sdk: flutter\n shared_preferences: ^2.0.6\n\n\n \n cupertino_icons: ^1.0.2\n\n\n provider: ^5.0.0\n\ndev_dependencies:\n flutter_test:\n sdk: flutter\n\n build_runner: ^1.12.2\n\n\n\nflutter:\n\n \n uses-material-design: true\n\n assets:\n - assets/test.jpeg"
]
Alexandr Drobyshev
ну сделайте что то типа final storageItems = await...; print('Starage items $storageItems'); if (...
Alexandr Drobyshev
посомтрите что напишет
Alexandr Drobyshev
та не может там быть проблемы которая это делает, првоайдер это инхеритвиджет из коробки флаттера, он у вас будет)
Kazbek Beteev
На первый заход данных нет, но после выхода с экрана и обратно - данные есть))
Kazbek Beteev
Ну асинхронно они прилетают я так понимаю, вопрос в том, почему setState не дожидается выполнения предыдущего запроса с await
Alexandr Drobyshev
ну так я вам и говорил вы уверены что даныне есть? вот видите, нет их, делайте так чтоб были) дело не в сетстейте
Alexandr Drobyshev
что значит дожидается)
Alexandr Drobyshev
у вас так items = null if (items != null) { setState }
Alexandr Drobyshev
в каком месте по вашему он тут должен дожидаться?
Alexandr Drobyshev
вообщем смотрите реализацию своего getItem в storage оттуда идет null
Kazbek Beteev
Не совсем правильно меня поняли. Я думал, выражение после await дождется выполнения выше.
Kazbek Beteev
Ну как промисы реализованы в вебе))
Kazbek Beteev
А он, получается не дожидается и проверяет их.
Alexandr Drobyshev
оно и доджется
Alexandr Drobyshev
вы не понимаете только чего дождется видимо
Alexandr Drobyshev
это и етсь как промисы в вебе
Alexandr Drobyshev
только вы отдаеет нулл на запрос
Alexandr Drobyshev
у вас где то дальше не врено сделано что то
Alexandr Drobyshev
покажите getItem метод
Kazbek Beteev
это от либы localstorage
Kazbek Beteev
[
{
"type": "link",
"text": "https://pub.dev/packages/localstorage"
}
]
Royal Cat
А мейне ты импортишь из counter (с маленькой буквы) а в wordselector и Counter (с большой буквы)
Kazbek Beteev
Почему тогда данные появляются после повторного перезахода на экран? Мне кажется запрос уходит, не проходит проверку, а после повторного захода на экран данные уже есть, т.к. запрос выполнился.
Dmitrij Kuznetsov
я уже кому то здесь писал воспринимайте await как место разделения процедуры на кусок, куски кода после await-а будет его дожидаться, но остальной код (если он есть), дожидаться выполнения не будет
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/lesnitsky/flutter_localstorage/blob/master/lib/src/directory/io.dart#L57"
}
]
Alexandr Drobyshev
ну вот смотрите, он прсото из мапы из берет
Alexandr Drobyshev
а в мапу он кладет тоже асинхронно
Alexandr Drobyshev
вот вам нужно дождаться выполенения метода init перед тем как делать getItem
Kazbek Beteev
не совсем понял, можете разжевать, пожалуйста?)
Мирсаид
[
"Всем привет. ",
{
"type": "hashtag",
"text": "#Запрос"
},
"\nПрограмма LMS также использовала SCORM для Upload уроков. Теперь я выводил эти уроки как WebView, а «iframe» через API. Раздел UI, который открывается при открытии WebView. Проигрыватель в WebView не может воспроизводить. У кого-нибудь была такая проблема?"
]
Alexandr Drobyshev
есть функция Future init([Map initialData = const {}]) async { в либе
рассматривайте как тот де промис в вебе если так удобней
что будет если напистаь так starage.init(); item = await starage.getItem(); в вебе?
Alexandr Drobyshev
так как init асинхронна она может завершиться хоть на сутки после того как завершится getItem
Alexandr Drobyshev
то есть на момент getItem мапа _data еще по сути пустая и нет там ничего
Alexandr Drobyshev
в том месте где вы делаете starage.init() нужно дождатся завершения этого init
Alexandr Drobyshev
например на SpashScreen
Kazbek Beteev
Ааа, теперь понял. Вопрос почему метод init не был указан в примере. Я вообще этот init не вызываю...
Kazbek Beteev
Т.е. не знал о нём)
Alexandr Drobyshev
ну может он либой вызывается сам
Alexandr Drobyshev
суть в том что он позже заканчивает работу чем вы вызываеет getItem
Alexandr Drobyshev
future: storage.ready,
Alexandr Drobyshev
у вас вонв. примере даже есть как проверить что он готов чтоб юзать)
Kazbek Beteev
Да, я это понял) Вопрос в том, как вызвать его раньше
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/lesnitsky/flutter_localstorage#example"
}
]
Alexandr Drobyshev
пока не готов рисуйте circularProgressIndicator
Євгеній Сергійович
Заработало!! Проблема решена. Как же мы могли не заметить, уже несколько человек пару дней смотрели. Как же я тупонул)) Работает! Странно что ide не подсветил неправельный импорт.
Alexandr Drobyshev
вот это глаз)) ??
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://github.com/lesnitsky/flutter_localstorage/blob/master/lib/localstorage.dart#L44"
},
"\n\nвот ка к раз он вызывается и реди возвращает true когда готово) пример в либе юзания есть) юзайте"
]
Royal Cat
Самая большая проблема это 2 файла с одинаковым названием, ненадо так делать, в дарте принято всегда именовать файлы в snake_case
Alexandr Drobyshev
сорри за оффтоп, кто то оперу юзает? пишут что там убрали впн для россии? это так?
Kazbek Beteev
Ох, да, это моя невнимательность, не увидел, что нужно смотреть на storage.ready. В общем я сделал, всё получилось. Спасибо огромное! Успехов вам)
Євгеній Сергійович
Спасибо большое, выручил)
Michael Lazebny
Ребят, что делает r""
Євгеній Сергійович
А посмотрите на этот импорт, ато у меня та же ошибка, только теgерь не видит NewWordsSelector, а не Counter.
IB Akhrorov
Есть кто использовал alice library с http library
Royal Cat
тут уже не уверен, может быть проблема в том что у FutureProvider тип NewWordsSelector? (нуллабельный) а провайдер ишет NewWordsSelector, попробуй или FutureProvider или Provider.of
Євгеній Сергійович
Ок спасибо
A
можно ли вот эти круглишки делать pagrviewer ом
Vladimir Markeev
[
"ребят, может кто знаешь, нативный android не видит kotlin\\java. может кто сталкивался? ",
{
"type": "link",
"text": "http://joxi.ru/1A5yGXYfDMbBxA"
},
""
]
Vladimir Markeev
что-то прописать или заимпортить?
|