Программирование : Dart & Flutter по-русски
Roman Vasiliev
Row/Column/List
admin
[
{
"type": "link",
"text": "https://morioh.com/p/9ba33365a8bb"
}
]
Тима Егембердиев
У меня помогло пересоздание проекта
Dk
Здравствуйте. Мне нужно по кнопке запускать ServerSocket и по кнопке его же выключать. Я правильно понимаю, что мне нужно в State классе создать isolate и в нём запускать сервер, а через сообщения уже включать/выключать? Или лучше весь isolate убивать?
Pasha Kretsu
Понял, спасибо)
Денис
Всем привет) Знающие люди, я опять постигаю аспекты моего злейшего врага Stream) Подскажите если у меня есть ```(e) async* {}, могу ли изнутри этого стрима его же и закрыть?
Денис
вопрос больше теоритический чем практически, потому что я не придумал где это использовать, но сама возможность интересна
Roman Vasiliev
Только из контроллера
Ruslan Yupyn
почему я немогу отобразить ListView?
Ruslan Yupyn
можно сюда код кинуть?
Pasha Kretsu
Помогло, Спасибо
Nikita Domnitskii
а вызывается где?
Ruslan Yupyn
как часть другого виджета в качестве Chlildren item в Column
Nikita Domnitskii
ну в этом и проблема
Nikita Domnitskii
листвью в экспандеде надо обернуть
Nikita Domnitskii
[
{
"type": "code",
"text": "Expanded(child:_buildHistoryList())"
}
]
Pasha Kretsu
я подозреваю что идентификатор приложений был разный для разных платформ
Roman Vasiliev
Column/Row имеют бесконечную основную ось, осторожнее с запихиванием голых виджетов в них
Radomir Epur
[
"Привет. Никто не решал вопрос с \"холостым билдом\" страниц при переключении с одного BottomNavigationBarItem на другой? Конкретнее: Есть BottomNavigationBar в паре с TabBarView, синхронизированных одним TabController'ом. Ситуация: мы находимся на первом табе. Хотим переключиться на третий. Нажимаем на третий таб. В итоге и попадаем на третий, но, заодно билдится, почему-то, и страница со второго таба. Осуществлять переключение пробовал через ",
{
"type": "code",
"text": "tabController.animateTo(index)"
},
" и через ",
{
"type": "code",
"text": "tabController.index = index"
},
""
]
AZ Ackmatoff
[
"java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mr/flutter/plugin/filepicker/FilePickerPlugin$LifeCycleObserver;\n at com.mr.flutter.plugin.filepicker.FilePickerPlugin.c()\n at com.mr.flutter.plugin.filepicker.FilePickerPlugin.onAttachedToActivity()\n at io.flutter.embedding.engine.c.i()\n at io.flutter.plugins.GeneratedPluginRegistrant.registerWith()\n at chranex.com.chranexapp.MainActivity.w()\n at io.flutter.embedding.android.e.g()\n at io.flutter.embedding.android.d.onCreate()\n at android.app.Activity.performCreate(",
{
"type": "link",
"text": "Activity.java:6858"
},
")\n at android.app.Instrumentation.callActivityOnCreate(",
{
"type": "link",
"text": "Instrumentation.java:1119"
},
")\n at android.app.ActivityThread.performLaunchActivity(",
{
"type": "link",
"text": "ActivityThread.java:2710"
},
")\n at android.app.ActivityThread.handleLaunchActivity(",
{
"type": "link",
"text": "ActivityThread.java:2818"
},
")\n at android.app.ActivityThread.-wrap12(",
{
"type": "link",
"text": "ActivityThread.java"
},
")\n at android.app.ActivityThread$H.handleMessage(",
{
"type": "link",
"text": "ActivityThread.java:1557"
},
")\n at android.os.Handler.dispatchMessage(",
{
"type": "link",
"text": "Handler.java:102"
},
")\n at android.os.Looper.loop(",
{
"type": "link",
"text": "Looper.java:163"
},
")\n at android.app.ActivityThread.main(",
{
"type": "link",
"text": "ActivityThread.java:6393"
},
")\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.ZygoteInit$",
{
"type": "link",
"text": "MethodAndArgsCaller.run"
},
"(",
{
"type": "link",
"text": "ZygoteInit.java:933"
},
")\n at com.android.internal.os.ZygoteInit.main(",
{
"type": "link",
"text": "ZygoteInit.java:823"
},
")\nCaused by: java.lang.ClassNotFoundException: com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver\n at java.lang.VMClassLoader.findLoadedClass(Native Method)\n at java.lang.ClassLoader.findLoadedClass(",
{
"type": "link",
"text": "ClassLoader.java:742"
},
")\n at java.lang.ClassLoader.loadClass(",
{
"type": "link",
"text": "ClassLoader.java:362"
},
")\n at java.lang.ClassLoader.loadClass(",
{
"type": "link",
"text": "ClassLoader.java:312"
},
")\n ... 19 more\nCaused by: java.lang.IllegalAccessError: Interface androidx.lifecycle.b implemented by class com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver is inaccessible (declaration of 'com.mr.flutter.plugin.filepicker.FilePickerPlugin$LifeCycleObserver' appears in /data/app/chranex.com.chranexapp-1/base.apk)\n ... 19 more"
]
AZ Ackmatoff
Приложение работает на эмуляторе, но апк даёт вот такую ошибку
AZ Ackmatoff
Кто-нибудь сталкивался с такой фигной?
Тима Егембердиев
Кто юзал flutter_html? На андроиде iframe показывает плеер, в iOS пусто. Кто нить сталкивался?
Roman Vasiliev
Очевидные проблемы с обфускацией натива
AZ Ackmatoff
kak pravilno googlit chtoby nayti reshenie? spasibo zaaraanee
Igor
[
{
"type": "link",
"text": "https://bit.ly/314DA83"
}
]
Roman Vasiliev
Готового решения не найдешь в одном месте. Отключай R8/Proguard или копайся с их конфигами
Hellomik
Кто как бороться с проблемой того что Listview на дает закрываться BottomSheet при скорое вниз?
Hellomik
тут я имею ввиду ShowModalBottomSheet
AZ Ackmatoff
Navigator.pop ne pomogaet?
Dk
^ как правильно сервер повесить?
Dk
В лоб не работает, конечно, но тут примерно то, что надо
Dk
Хотя бы скажите где прочитать
Деда
В vcode так и не смог сделать лесенку
Dk
Это андроид студия. Она бесплатная, не знаю зачем vscode брать
Andrey Tsvetkov
он тоже бесплатный)
Andrey Tsvetkov
и в нём можно писать бэкэнд на гошечке))
Dk
Так студия из коробки больше умеет
NewBalanceM5
он тоже бесплатный
Dk
Ребят, я знаю. Давайте не будем про редактор, а помогите код написать
Dk
Посмотрел пример на вебсокетах, там стримбилдер какой-то используется. пытаюсь адартировать
Dk
[
{
"type": "link",
"text": "https://flutter.dev/docs/cookbook/networking/web-sockets"
}
]
Nikita Domnitskii
[
{
"type": "link",
"text": "https://dart.dev/codelabs/async-await"
},
" читай"
]
Nikita Domnitskii
[
{
"type": "link",
"text": "https://dart.dev/tutorials/language/streams"
},
" читай"
]
Nikita Domnitskii
[
{
"type": "link",
"text": "https://www.didierboelens.com/2019/01/futures-isolates-event-loop/"
},
" читай по желанию"
]
Nikita Domnitskii
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/widgets/State-class.html"
},
" и вишенка на торте"
]
Деда
У каждого свой цвет фломастеров )
Denis Bystruev
Год вёл занятия у студентов по Flutter в Android Studio, плевался страшно. Для своей разработки пользую VSCode, работать гораздо приятнее. Формально описать сложно — возможности те же, но это как любовь. Надо попробовать обе, чтобы выбрать для себя.
Dk
Я вообще ей никогда не пользовался. Предпочитаю IDE или sublime
vasilich
Если устраивает продукты ЖутьБрейнс - не вижу смысла)
Igor Kusoff
только вим, только хардкор!
Sergey Salnikov
[
{
"type": "link",
"text": "https://t.me/rudart/169670"
}
]
Radomir Epur
Так в том то и дело, что build вызывается тогда, когда он вообще не должен вызываться(чисто логически). Может есть какие-то workaround, чтобы избежать этого? Меня, по большей, части интересует ответ на этот вопрос.
Sergey Salnikov
повторюсь пока виджет в дереве - когда угодно и сколь угодно много раз
Radomir Epur
Окей, спасибо.
Sergey Salnikov
да не за что, прими Flutter и пророка его Композицию =)
Andreu
Парсирую одну странную вещь в Map. Выходит Map , но строго я не типизирую, ибо мне нужно записать в определенную ячейку мапы еще одну мапу, но при попытке присвоения по индексу валится ошибка, что не может привести новое значение к string. Я так понимаю дефолтный dynamic присвоил тип String. Как это побороть?
Daniil Kolyasnikov
Вероятно
Andreu
пробовал, но после первого присвоения value String он считает, что там и дальше будет стринга
Andreu
[
"помогло только такое грязное решение \n",
{
"type": "pre",
"text": "map.remove(32);\nmap[32] = {};",
"language": ""
},
""
]
Александр
Как сделать массив из значений MAP?
Sergey Salnikov
fooMap.values.toList()
Anton Ratushev
кто-нибудь сталкивался с проблемами типа Out of memory при запусуке эмулятора и vs code? 16gb оперативки на борту, при этом при попытке запустить хром все факапается, не знаю куда копать
Sergey Salnikov
[
"ты явно типизируй \n",
{
"type": "pre",
"text": "Map ",
"language": ""
},
""
]
Александр
а если вот такая шляпа
Sergey Salnikov
ты типы покажи, а не картинки =)
Александр
вот опять вы типы просите, а я не пойму где их смотреть. из картинки видно что это мэп со стрингами в ключе и значении. что за типы еще нужны?
Rinat Kurmashev
не работает на ios девасе video_player, показывает белый перечеркнутый кружок. в логах ничего нет, кто-то сталкивался?
Evgenii Elchev
там кажется что то надо куда то прописать что бы он работал, в инструкции написано
Rinat Kurmashev
Я прописал в plist то что в инструкции
Evgenii Elchev
больше идей нет тогда(
Sergey Salnikov
покажи тип который тебе возвращает апи а как ты хотел? =) гадать по картинкам?
Александр
у меня только картинки, может эта подойдет
Александр
мне нужно все value запереть в листе
Александр
ну это понятно, а как это сделать не понятно
Sergey Salnikov
покажи что .get() возвращает какой тип catMap?
Александр
[
"чисто гет позвращает Instance of 'DocumentSnapshot', а если добавить ",
{
"type": "link",
"text": "catMap.data"
},
", то будет {arr: [{display: Running, value: Running}, {display: Swimming, value: Swimming}]}"
]
Evgeny Cherkasov
Видимо Map там
Александр
ну да наверное его
Александр
а как это посмотреть ?
Evgeny Cherkasov
В отладчике
admin
Всем привет, подскажите какой тру вей будет в ситуации, когда есть список обычный и у каждого элемента есть кнопка лайк, при нажатии на лайк надо сохранить в базу что у этого элемент теперь стоит лайк. Для управления стейтом используется блок, это мне надо 1000 стримов (на каждый элемент) создавать?
admin
При нажатии на кнопку лайка соответственно загорается что он теперь пролайкан (звездочка желтой становится)
Eugene ??
[
"Добрый день, подскажите, пожалуйста, есть ли в dart альтернатива infer из typescript?\nНу или, вероятно, как-то другой путь сделать то, что мне нужно. Я хочу в объявлении типа вытащить тип из дженерика и использовать его как тип аргумента.\n",
{
"type": "pre",
"text": "class SomeClass {\n SomeType prop;\n}\n\ntypedef SomeType> = int Function(SomeType);",
"language": ""
},
""
]
Nikita Domnitskii
Шо за сложности
Nikita Domnitskii
[
{
"type": "code",
"text": "arr.flatMap((m)=>m.values)"
}
]
Nikita Domnitskii
Если я правильно понял
Александр
блин на вид это задача для первоклассника, но никто что то сказать не может
Nikita Domnitskii
flatMap в dartx только
Nikita Domnitskii
Вместо арр кэтЛист твой
Nikita Domnitskii
Ну так тебе и так все разжевали
Александр
так нет такого метода
Nikita Domnitskii
Глаза выше подними
Nikita Domnitskii
[
"Ну или ",
{
"type": "code",
"text": "map((m)=>m.values).expand((l)=>l)"
},
""
]
Nikita Domnitskii
[
{
"type": "link",
"text": "https://github.com/leisim/dartx/blob/314d2eb363f76df5bc253a17404016c06dd661d0/lib/src/iterable.dart#L820"
}
]
Nikita Domnitskii
Но можно и свой экстеншн сделать, если по религиозным причинам не хочешь пакет тащить
Александр
не, ну а че тут песню запевали, дартикс, экстеншаны, типы хуипы - прямолинейно но просто
Александр
этого от вас и хочет ваш компьютер
Nikita Domnitskii
Прямолинейно и просто
Nikita Domnitskii
[
"Ну или ",
{
"type": "code",
"text": "map((m)=>m.values).expand((l)=>l)"
},
""
]
Александр
это не работало. первый catList это мэп
Nikita Domnitskii
catList['arr']
. .
Ребят, помогите сделать платежку, баланс 1000 рублей)
Nikita Domnitskii
А можно было лэнг тур прочитать, и не сидеть не тупить
Alexander Maverick
[
{
"type": "code",
"text": "catMap.data.entries.map((entry) => entry.value['value']).toList();"
},
"?"
]
Alex Kharechko
сталкивался кто с такой проблемой? CachedNetworkImage BoxFit.cover не работает адекватно
Alex Kharechko
[
"тоесть вообще не вижу отличия от ",
{
"type": "code",
"text": "BoxFit.fitWidth"
},
""
]
Александр
сразу бы сказал
Nikita Domnitskii
Давай сразу всё за тебя напишу
Александр
не драматизируй, я вот не додумлася, а тебе 7 символов черкануть
Nikita Domnitskii
А можно было лэнг тур прочитать, и не сидеть не тупить
. .
Ребята помогите доделать правильно платежную систему. Баланс 1000 рублей. Проблема заключается в том, что приложение работает и функционирует через сайт (WordPress). В документации, есть подключения других платежных систем, но мне нужна система, которая будет удобна для русского. Я подключил UnitPay через плагин, но когда нажимаю оплатить, меня перебрасывает на сайт, где я должен повторно все написать, чтобы оплатить. Я хотел бы сделать так чтобы при нажатии оплатить, сразу открывал сайт платежной системы, а не мой сайт - платежная система
. .
Знания в flutter у меня нету, я просто купил готовый проект
Alexander Maverick
а еще лучше вместо entries взять values
Александр
все равно спасибо ??
Sergey Salnikov
что-то ты намутил - никогда такого не было тащи код
Alex Kharechko
[
{
"type": "pre",
"text": "CachedNetworkImage(\n imageUrl: imageUrl,\n fit: BoxFit.cover,\n placeholder: (context, url) => Image(\n image: MemoryImage(kTransparentImage),\n ),\n ),",
"language": ""
}
]
Alex Kharechko
в том-то и дело что кода нету считай… пробовал через decoration тот же результат
Sergey Salnikov
и есть ссылки на картинки?
Sergey Salnikov
покажи куда он вставлен
Alex Kharechko
[
{
"type": "link",
"text": "https://all-free-download.com/wallpapers/download/coludy_mountains_nature_wallpaper_7756.html"
}
]
Alex Kharechko
я понял… спасибо
Alex Kharechko
наверное с сервера такие картинки приходят...
Alex Kharechko
есть такой вариант
Sergey Salnikov
убедись что картинки именно такие
Sergey Salnikov
ну вот миф развенчан =)
Sergey Salnikov
тебе нужна уточка для Rubber Duck Debugging
Nizomiddin
Всем привет подскажите пж как можно исправить insert кнопку в android studio уже зб 3 дня не могу найти заранее спасибо
Тима Егембердиев
Ребят трабл, использую CupertinoPageScaffold в body SingleChildScrollView, когда на самый низ скроллю, bottomNavBar закрывает часть контента, как исправить?
. .
Ребята помогите доделать правильно платежную систему. Баланс 1000 рублей. Проблема заключается в том, что приложение работает и функционирует через сайт (WordPress). В документации, есть подключения других платежных систем, но мне нужна система, которая будет удобна для русского. Я подключил UnitPay через плагин, но когда нажимаю оплатить, меня перебрасывает на сайт, где я должен повторно все написать, чтобы оплатить. Я хотел бы сделать так чтобы при нажатии оплатить, сразу открывал сайт платежной системы, а не мой сайт - платежная система Знания в flutter у меня нету, я просто купил готовый проект
DK
тебе кажется в пхп чат
DK
а по хорошему, я бы написал плагин для интеграции самостоятельно
DK
там обычно подготовка корретного url для формирования заказа и принятие и веб хука на бэк энде
. .
Такие как paypal и другие работают отлично
. .
Но мне paypal не подходит
DK
не понял связи чесн, как оказался вордпресс и флаттер в одной лодке
vasilich
Или как бэкофис)
DK
которые ломают каждый раз, будь здоров :^)
. .
Могу скинуть за помощь проект)
DK
да я просто до конца понять не могу в чем трабла, штуки 3 эквайрингов подключал
DK
и как ты вообще всё это дело связал
Umarjon
как уменьшить размер flutter application
. .
Я купил готовый проект
Деда
Блин, пойду посижу, подумаю, разберусь в себе
Igor Kusoff
народ пошел смотреть цену на новый процессор эпл)))
Aleksandr
[
"всем привет. ",
{
"type": "link",
"text": "https://pub.dev/packages/sms_autofill"
},
" подскажите по хэшу, который приходит в смс, он всегда уникальный, или от релиза к релизу меняется?"
]
Aleksandr
и еще в библе есть геттер SmsAutoFill().getAppSignature, который выдает этот хэш. это то что надо? или его генерировать надо по инструкции?))
Andreu
Именно в тот момент, когда нам нужно было пушить экстренный апдейт приложения
Roman Vasiliev
[
"На первой же странице пакета\n",
{
"type": "pre",
"text": "To get the app signature at runtime just call the getter getAppSignature on SmsAutoFill. You can also find the sample code in example app.",
"language": ""
},
""
]
Aleksandr
блин, до конца не дочитал) в самом низу написали самое главное) . в середине есть просто линка на гугл, и там целая глава, как сгенерировать этот хэш... ок спасибо.
Roman Vasiliev
Автор кстати нуб, неправильно сделал получение подписи
Artem Moss
[
{
"type": "link",
"text": "https://pub.dev/packages/flutter_pagewise#-example-tab-"
},
"\n\nВ классе BackendService автор использует переменные offset и limit. Может кто-нибудь подсказать,откуда он их берет? Спасибо."
]
Artem Moss
Просто, пытаюсь понять, как это работает
DK
сколько постов хочешь отобразить, и сколько отступить от начала(от первого)
Artem Moss
Это понятно, откуда он их изначально берет
Aleksandr
работать будет?)))
CrazyAlarmClock
ребят, кто нибудь сталкивался с таким, что нет приложения в меню приложений? а если смотреть через настройки в листе всех приложний, то оно есть. проблема в том, что он не может открыть аппу через динамик линк
Roman Vasiliev
Вероятно не совсем безопасно
Roman Vasiliev
У него получение подписей времен API второй версии подписи
Luka Katsadze
Кто может подсказать в какую сторону надо копать в поисках решения проблемы. Юзаю фаербэйс и авторизацию через гугл. На эмуляторое всё ок, собрал релизную версию приложения, авторизация не происходит. То есть жму на кнопку "войти с гуглом" , появляется окно выбора аккаунта, выбираю и ничего не происходит. Приложение дальше не кидает, так как судя по всему авторизация не прошла
Roman Vasiliev
получил бы сразу ответ, а не сидел и выпендривался
Andrew Ka
[
{
"type": "link",
"text": "https://youtu.be/DUdh73EB3RI"
}
]
Luka Katsadze
Надо было в фаербейс дополнительно прописать ключ из Play консоли
Shakhzod
[
{
"type": "link",
"text": "https://riverpod.dev/"
}
]
IB Akhrorov
Здравствуйте что будет возвращать streambuilder и futurebuilder если с api приходит пустой array
vasilich
Экспертное мнение)
Yerassyl Maikhanov
как в flutter web баг отловить ?) в мобилке все работает, но в web версии вылетает ошибка
Тима Егембердиев
Thank you
Oleg Elifantiev
Кто нибудь решал задачу проигрывания во flutter-приложении на ios аудиофайлов в формате ogg. Например аудиосообщений из telegram?
IB Akhrorov
snapshot.hasData == false в этой случаи?
IB Akhrorov
[
"значит я должен сделать так?\nif(snapshot.hasData)if(",
{
"type": "link",
"text": "snpahot.data"
},
"!=null) // return SomeWidget();"
]
Тима Егембердиев
Скорее snapshot.data.isNotEmpty
Daniil Kolyasnikov
Ребят, кто-то может подсказать что за магия в mobx ? Observer(builder: (_) => Text(store.value.toString()) при экшне меняется, но при это сам observer никак не привязывается к store.
Тима Егембердиев
Народ, привет, вопрос, statusBarColor на Android работает, на iOS не хочет. Кто нить сталкивался?
Igor Kusoff
Какая версия айос?
Pavel Kozlovskiy
Привет всем. А есть какой-то аналог resources как в андроиде? для строк и локализации понятно, а вот для assets?
Igor Kusoff
У айос другая система управления цветом статус бара, надо смотреть доки, не помню деталей
|