Программирование : Dart & Flutter по-русски
Шахзод Джураев
Line length
John
Нашёл "dart.lineLength": 150, "[dart]": { "editor.rulers": [ 150 ], }
Константин Буланов
Как такой список можно на флаттер реализовать? Не подскажете пакетик? Или как правильно он называется?
Константин Буланов
Спасибо большое.
Don
[
"пакеты которое есть в ",
{
"type": "link",
"text": "pub.dev"
},
", их сами люди делают или же разрабы флаттера ?"
]
Don
то есть если надо могу и свой создать ?
ManBearPig
Вы предполагаете, что разработчики фрейм-ворка не люди/инопланетяее??)))
ManBearPig
Зы: и подозреваю, что после публикации пакета, все равно останетесь человеком )))
Mitai
там вроде нет тайны у каждого пакета есть автор и он не скрытый
Владислав Зайцев
Всем привет! Подскажите, пожалуйста, почему при добавлении больше 3х кнопок на нижнюю панель, они все становятся белыми?
Роман Аблаев
наведи мышку на title и посмотри, на что нужно заменить
Владислав Зайцев
просит на label заменить
Роман Аблаев
замени на label и оберни навбвр в expanded
Владислав Зайцев
навбвр - слово не пойму
ManBearPig
[
{
"type": "link",
"text": "https://api.flutter.dev/flutter/material/BottomNavigationBar-class.html"
}
]
Владислав Зайцев
Спасибо!)
Alexandr Drobyshev
чет трешь какой то, с вс стулией. выключил все, пишет дарт 100 прцоентво грузит проц, прошлоо 2 часа так и грузит. Завершил принудительно, влкючил студию, включилась, в мониторинге ее нет, появился только дарт
Alexandr Drobyshev
а не, все норм, стало 1 прцоент) после принудительного, было сраз урпосто оптяь 100, но потом упало. но странно что зависло что грузило 100 процентов пока н е заврешил принудительно, девайс не подклчюен
Yakov K.
Это анализатор 100%
Alexandr Drobyshev
так я вырубил студию, комп стоит два часа не запускал студию, сомтрю мониторинг 100 процентов, просто батарея чет сомтрю садиться, а он два часа крутит, при чем висит что садит VSCode но она даже не влкючена
Yakov K.
У меня несколько раз такое было на последних версиях. Не знаю с чем связано
Alexandr Drobyshev
я так то чо неделю на вс коде сижу) за 6 часов сел ноут от 100 рпоцентов до 10 пока сидел в аднроид стулдии, думал она садит или нет, походу таки дарт
Роман Аблаев
В sqflite ругается на join: String? path = join(documentsDirectory.path, DBName);
Роман Аблаев
path_provider установил
Alexandr Drobyshev
а как рушается? прям матом? или чтото пишет?)
Роман Аблаев
The method 'join' isn't defined for the type 'DB'. Try correcting the name to the name of an existing method, or defining a method named 'join'.dart(undefined_method)
Alexandr Drobyshev
import 'package:path/path.dart'; есть?
Timur M.
Вот вы странные Бук 6 часов работал от батареи! Как говорил классик - вы много кушаете - в смысле? - в смысле:- зажрались
Alexandr Drobyshev
ну так заявлено 20 часов. я кодил сайт часов 12 работал, а в студии 6, напрягает
Timur M.
Блин на заборах тоже пишут) Это идеальные условия Вроде большие, а в сказки верите )
Timur M.
Бук это стационарный комп с батарейкой на короткий период, остальное маркетинг
ManBearPig
Относительно vs, как и в AS с аддонами не нужно злоупотреблять . Если всякие Platformio и тп включены- хорошо так грузят)
Alexandr Drobyshev
ну так кодю, запущен вебсервер, бек и фронт, постоянно рекомпил по контрл сейв vue и ts бека, 12 часов хватило, даже 10 прцоентво не было) а тут 6. просто интеренсо студия садит или дарт, видимо дарт)
Timur M.
Без сети например комп режет работу проца, чтоб выдать обещания маркетологов , вот вам и магия
Alexandr Drobyshev
ну вот напрмиер студия явно тупит сильней, хоть и удобней для меня. но иногда вылетает с оштбкой что я выделил 4 гб памяти и она кончилась)
ManBearPig
4 гб как бы мало.. даже для неё
Alexandr Drobyshev
то есть на основании того что жрет и тупит иногда, я решил что она жрать может батарею тоже сильно. пока так и не удалось прсото полноценно покодить 6 часов без перерыва) чтоб проверить, надо уезжать, подзаряжаю
Alexandr Drobyshev
ну у меня 16 гб озу, я имею ввиду что она работает может день два, а потмо вылетает ошибка, окно какое то, я не читал что там если чесно) но что то про 4096 Mb
петя ??
Ребят, а для получения списка контактов пользователями, чтобы потом отправить в базу и забекапить, никто не встречал хороших готовых решений на флаттере?
ManBearPig
Что бы просто сохранить что ввели
ManBearPig
Типо кэша в оьлаке == поиск по этим данным не нужен, просто положили, если новая установка - список для аккаунта - из оьлака/бд в телефон
ManBearPig
У меня есть вариан, с возможностью группировки просто dragable + названия групп и цвет для нее
ManBearPig
Я как доеду домой, комп включу ...
ManBearPig
И все сторится в prefs, все объекты в одном листе , который в json
ManBearPig
Модно такой подход....просто после селектор его в вашу бд
ManBearPig
Зы: сегодня, приду, покажу (писал для медиума)
Jamshed Rakhmonov
Можно ли на флаттер делать программы для android tv?
tdesc
епам делал вроде, но форкали флаттер, так что зависит от задач и ваших усилий
Jamshed Rakhmonov
Понял спасибо
Combot
[
{
"type": "mention_name",
"text": "Jamehalland ",
"user_id": 1734935070
},
" has been banned! Reason: ",
{
"type": "text_link",
"text": "CAS ban",
"href": "https://cas.chat/query?u=1734935070"
},
"."
]
Ivan
[
{
"type": "mention",
"text": "@bunopus"
},
" spam"
]
Aleck smart7even
Добрый вечер. В какой из этих AndroidManifest вставлять permissions? Который в папке main?
Mike
всем привет! кто использует auto route? вопрос есть. не пойму. толи я что-то не так делаю, толи ошибка в библиотеке
Andrey Unger
на сколько я помню форкали под Apple TV а под андройд ТВ и так все работает
Kit Khilobok
Желательно сразу писать вопрос
Mike
есть page1, открывается page2, потом если нажать кнопку назад (которая внизу в андроиде), перед возвратом на page1 пересоздаётся page2 и срабатывает init. так не должно же работать?
Kit Khilobok
В зависимости от того, как ты написал) Автороут работает по сути также, как обычный навигатор
Kit Khilobok
page1 -> push page2 page2 -> pop page 1 page1 не будет пересоздавтаься
Kit Khilobok
page1 -> replace page2 page2 -> replace page1 page1 создастся заново
Mike
page1 -> push page2, потом нажимаю кнопку назад. если нажать кнопку назад в туллбаре, то проблем нет. не пересоздаётся
Mike
тестовый проект с этой ошибкой
PTLam
[
"ребята, приветики) нужна помощь по использования bloc в showdialog. Проблема: не показывается диологовое окно.\n\nТакая логика:\n1) пользователь открывает приложения спомощи диплинки, в которой токен\n2) мы отправляем запрос на сервер для валидации токена\n3) если токен не валидный, то показываем dialog с кнопной Resend email\n4) При нажатия на Resend email, делаем запрос на бэк. Пока ждем ответа в том же dialog показать лоадер вместо кнопки\n\nУ меня есть экран SignInPage, туда я передаю блок DeepLinksResendBloc, который буду использовать в SignInFormWidget.\n\nВ SignInFormWidget у меня BlocListener, который слушает события когда токен не валидный и вызваю showDialog. Нашел в гугле как передать bloc в context диалого окна: ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/63919070/cant-access-bloc-in-showmodal-context"
},
"\n\nСделал как там, но не работает. Посдкажите плиз как передать мой bloc в диалоговое окно, чтобы все работало и в диалогом окне у меня был доступ к моему bloc?"
]
Noob Noobskiy
Не отображает страницы в таббарвью, если не обернуть его во что нибудь, и не задать размер. Вот, с SizedBox помогло. Но размеры страниц TabBarView Разные, и во второй странице уже на overflow ругается. Как правильно тут поступить?
Илья Маненков
Ребят может не много не по теме , посоветуйте какой мак взять для разработки, б/у Что бы работать без боли , и цена адекватная ?
Роман Мельников
Быть может я не прав, но сейчас брать мак не на М1 глупо.. т.к. через пару лет на intel уже не будет многих функций ОС и в дальнейшем вообще поддержки..
Daniil Kolyasnikov
Возьми м1 аир с 16 оперативы в кредит. Хороший инструмент и очень мало недостатков
Daniil Kolyasnikov
Там ссд быстро изнашивается
ManBearPig
Привет, у всех свое понимание адекватности) 1к а- вполне адекватно, более чем
MiT
[
{
"type": "mention",
"text": "@bunopus"
}
]
Kinderprice
Ребят, всем привет, подскажите пожалуйста, как можно с порога начать изучать флаттер/дарт? Никакого бэкграунда в программировании нет, т.е начинать я хочу с нуля. Может что прочитать посоветуете, а уже после переходить к онлайн курсам? Да и насколько это сложно, если сопоставить с другими языками программирования, например с тем же js
R2R
А есть что почитать на эту тему? Интересно
ManBearPig
[
{
"type": "link",
"text": "https://t.me/flutterbooks"
}
]
Kinderprice
А что нибудь на русском есть?
MiT
[
"Все так же просто как и в js.\nДля начала нужно изучить базу (типы данных, операции над ними, циклы, методы/функции и тд.).\nДальше нужно изучить ООП (классы, наследования, имплементация, интерфейс/абстрактный класс и тд.)\nПосле можно приступать к flutter и первым виджетам (и понять декларативную вёрстку)\nВ самом конце вы уже сами начнёте понимать что вам нужно изучать дальше.\n\nДля изучения лучше использовать оф доки: ",
{
"type": "link",
"text": "dart.dev"
},
", ",
{
"type": "link",
"text": "flutter.dev"
},
"\nНу и на русском немного: ",
{
"type": "link",
"text": "https://metanit.com/dart/"
},
""
]
MiT
[
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
}
]
ManBearPig
Там вроде была 1 книга, ... Но .... Как Вы это видите ? Вся документация на английском И соответственно, хорошие книги - тоже... Может youtube... Но имхо это , возможно, топиков подход....ибо все исходники на английском
ManBearPig
Оформите тз... Исходя из него и ищите ....
MiT
Я бы не рекомендовал книги для новичков. Зачастую там информация устаревает. И сложные темы им не нужны в начале
ManBearPig
Если только фронт, возможно в рамках СНГ, думаю.... Но, имхо очень важна роль опытного разраба для бэка...
ManBearPig
Там, вроде как именно основы ооп есть Ну а сам фрейм-ворк тоже... Тем более, если у человека проблема с англоязычной литературой, априори это будет с некоторым запаздыванием. Но имхо это не критично...
Kinderprice
Ютуб Каналы может какие нибудь посоветуете? Или лучше сначала по книгам?
MiT
[
"Не советую книги.\n\n",
{
"type": "link",
"text": "https://youtube.com/c/LearnDartFlutter"
},
""
]
Andrey Unger
в шабке ссылка на видеокурс
Kinderprice
А по времени сколько изучать ее?
Mitai
[
"cмотри Женю\n",
{
"type": "link",
"text": "https://www.youtube.com/channel/UCZz15W_tnfs4DxVsWCrTHJw"
},
""
]
Роман Аблаев
На вышеописанном ресурсе от Евгения Ёлчева, если не ошибаюсь идет уже 51 урок, с учетом того, что на каждый урок выделить 1 день + практические занятия тоже 1 день. получается 102 дня, не забывай, что уроки будут прибавляться, прибавь к этому числу какой-нить проект (можешь придумать для себя сам), смотри, что требуют работодатели, старайся внедрить их требования в свой проект, практика, практика, и еще раз практика, по времени смотри сам, как получится)
Mitai
[
"если нужны книги для совсем старта есть такая серия\n",
{
"type": "link",
"text": "https://disk.yandex.ru/i/Mu8dr1iZ4VXh2g"
},
"\nно он там прям совсем все расказывает с машины фон неймана"
]
Mitai
[
{
"type": "link",
"text": "https://disk.yandex.ru/i/n8h0mkp3TIJstg"
}
]
Mitai
[
{
"type": "link",
"text": "https://disk.yandex.ru/i/8LDw7puYtsNSeA"
}
]
Сергей Переходов
Запихни метод в Стейт класс, и сделай блок глобальной переменой в нет
XbIK
коллеги, никто не сталкивался, андроид студия на макосе, не показывает в pubspec.yaml устарела библиотека или нет
PTLam
Правильно понял, что надо CustomDialogWidget сделать StatefulWidget? И он будет принимать при инициализации мой bloc?
Сергей Переходов
Верно, если у я понял как устроен твой класс
PTLam
Спасибочки большое??попробую)
Сергей Переходов
Я честно говоря блок иничу в инитстейте
PTLam
У нас в проекте используется flutter_bloc пакет с getit. Там getit и BlocProvider выполняют роль инициализаторов bloc
Сергей Переходов
Это я увидел, просто не совсем ясно зачем их хранить в памяти приложения, когда можно подвязать блок на жизненный цикл виджетов страницы
PTLam
Они там под капотом привязываются к нужному виджету, а когда он удаляется, то там под капотом все блоки тоже удаляются
PTLam
Честно не копал в глуб) но так в доке пакета написанно)))
Mitai
[
{
"type": "mention",
"text": "@bunopus"
},
" ",
{
"type": "hashtag",
"text": "#spam"
}
]
MiT
BlocProvider тоже самое делает, не вижу смысла в getit...
MiT
[
{
"type": "mention",
"text": "@bunopus"
},
" не, нужно реально что-то от спама делать..."
]
Mitai
я на них еще телеграмму ябедничаю, правда хз если от этого ваще какой то прок...
Evgeny Kot
Смотрю ботов всяких, но там все сложно чёт
Aleksey Kharitonov
PayPal?
Andrew Moryakov
биткоин или usdt
ManBearPig
через РР и сразу фиат
MiT
[
{
"type": "link",
"text": "https://github.com/1inch/shieldy"
},
" ?"
]
d
в Украине нельзя на PP принимать, только отправлять с него
ManBearPig
western union?
admin
??? Это с какого момента? Я принимал оплату. Конечно в начале 21 года.
Темирлан
Всем привет, такая проблема, когда приложения открывается пару секунд показан просто белый экран, после чего уже показывается приложение. Как это можно исправить?
Роман Аблаев
Эта проблема решается в манифесте
Dmitriy
Почитай что такое launch и splash screen
Илья Цымбалюк
Подскажите пожалуйста, для того что бы в фоновом режиме прослушать событие и выбросить пуш. Нужно писать на проверки только на нативном коде? Или можно как-то обойтись функционалом флатера? FBM - не рассматриваю
Татьяна Татьяновна
Нужен разработчик с адекватными ценами. Можно набирающего опыта. Цены в 250к за приложение пока не готовы позволить. Нужна разработка гибридных приложений. Сейчас актуально приложение доставки еды и тур агенства. Дизайн в фигма. Пишите в ЛС.
Andrey Unger
[
"вакансии в ",
{
"type": "mention",
"text": "@dartlang_jobs"
},
""
]
Dmitry Demchenko
Да, пуши это сугубо нативная возможность
ManBearPig
[
"Вы об этом ?\n",
{
"type": "link",
"text": "https://developer.android.com/guide/components/foreground-services"
},
""
]
Илья Цымбалюк
видимо, да. Спасибо
ManBearPig
Пуши модно слушать с минимальным включением натива для платформ... fcm неплохо описана. А вот действие- только натив
Илья Цымбалюк
ну суть какая. Я слушаю бд, как только в ней происходят изменения я должен отображать действие. Если приложение активно, просто на экране происходит сет стейт и появляются новые данные (это я реализовал, все работает как положено). А вот в случае если приложение закрыто\свернуто, я хотел отображать пуш. Но столкнулся с тем что при закрытии ничего не происходит. Но проблема в том что я вообще не знаком с нативщиной
ManBearPig
Имхо, в вашем случае, зашёл бы подход с опциком...возможно....
ManBearPig
Не, пуш то придет...
Илья Цымбалюк
ну я так понимаю что как только я сворачиваю приложение. Мой listener перестает действовать
Илья Цымбалюк
[
{
"type": "code",
"text": "fbStorage.reference().child(\"weather/\").onValue.listen((event) async"
}
]
Джамиль Хаметов
При запуске фб синхронизирует все данные.
Andrey Unger
[
{
"type": "mention",
"text": "@Jonfir"
},
" чтож ты не сказал что itunderhood ведешь на этой неделе. Я все пропустил. Предется перечитывать)"
]
Темирлан
Кто-то использовал CachedNetworkImage
Темирлан
Почему-то не показывает фотографию через нее
admin
Всем привет! такой вопрос! У меня есть provider, хочу сделать с помощью provider вход к БД Firebase, у меня с самого начало был StreamBuilder, я решил его заменить как мне правильно это сделать, это делать через StreamProvider, если да то можно его добавить в MultiProvider в будущем? Заранее благодарю!
Yevhen Ivanov
Нужно использовать провайдер для предоставления стримбилдера
Паша
- "хочу стать программистом, какой язык посоветуете изучать первым?" - "английский"
Паша
Ну или вам нужно изучать 1С или как он там
Роман Мельников
Ты смешной.. :)
Паша
Только через контекст))))
Timur Ataev
Подскажите, пожалуйста, как проще всего засеивать начальные данные в бд через moor без создания для этого отдельного интерфейса в приложении? Только через moor inspector?
ManBearPig
Да ладно, вопрос как вопрос.... Имхо Если действительно интересно , можно Яву посмотреть для начанаящих ...книги есть хорошие на русском... Общие принципы, типы данных ооп...понять легче будет
ManBearPig
[
"Если ещё на стадии разработки , посмотрите сравнение \n",
{
"type": "link",
"text": "https://objectbox.io/flutter-databases-sqflite-hive-objectbox-and-moor/"
},
""
]
ManBearPig
[
"Вот тут ещё немного\n",
{
"type": "link",
"text": "https://amp.reddit.com/r/FlutterDev/comments/eqdlk6/hive_vs_sembast_vs_moor/"
},
""
]
admin
Ребят подскажите пожалуйста почему бросает ошибки или как их правильно назвать, не знаю! Я использую StreamProvider с firebase auth(мобильная аутентификация), если нужен доп. код то скину.
Timur Ataev
Ну, если это к тому, чтобы задуматься о чем то попроще, то судя по всему кроме мура пойти некуда, если нужен sql
ManBearPig
От sqllite отказался, хотя раньше , на андроид её очень лбьил. Основное преимущество- инструкции сами на sql, есть транзакции......) но скорость .... Имхо, если что то очень небольшое sharedpreferences для остального hive. Очень быстро, мало кода.... Минус толтко один, если какие то сложные выборки , но этоиредко...да и кэш не совсем для таких целей. Objectbox тоже очень хорош
ManBearPig
Sqllite там урезанный sql что очень просто......
ManBearPig
Позвольте поинтересоваться , у вас просто incert/select по 1 полю в последнем случае?
Timur Ataev
В nosql сильно не углублялся, но может сразу и подскажете, отношения вроде one to many, many to many и т.д. там реализуются?
ManBearPig
[
"Тык\n",
{
"type": "link",
"text": "https://www.techighness.com/post/no-sql-data-modeling-1-to-1-1-to-many-many-to-many/"
},
""
]
Madiyar Rakhman
Вроде нет, там подразумевается что ты в одну запись засовываешь введи объекта все что угодно тебе
ManBearPig
Зы в hive все именно так как выше указали. Там действительно просто
ManBearPig
Главное адаптер сразу сгенерироватт и после точки входа зарегать
ManBearPig
Я в востогре) именно для аппа самое то
ManBearPig
Когда реализовал прстой insert с условием if not exist в sqllite а после ту же логику в hive (Просто лист с товарами которые себе в избранное добавляете)
ManBearPig
Это земля и небо)))
ManBearPig
Минус один когда выборку делаю Забираю все что в боксе... ну а после обычные методы работы с листами/ картами ....
Паша
Ну вот.. Удобно, капец. Для любой мелочи нужно сделать копию всей таблицы, изменить, и заменить старую
ManBearPig
Но все очень быстро.... И не грузит совсем...... Было неудобно, после sql.... Но зато клиент доволен ??
ManBearPig
Нет если сложная выборка
ManBearPig
Просто insert или с автоинкрементом или ... с клбчем
Паша
Для малых объемов вроде как нормально. Но по сути в результате то же самое получается. Но пишешь на dart всё query и операции
Паша
А что там с доступом в одну и ту же таблицу но паралельно ?
ManBearPig
Ну вот в конкретном кейсе с избранным...insert sqllite пацаны как тормозил, когда активно тапал)
ManBearPig
В hive вообще не заметил )
Паша
Потому что всё в оперативке всегда лежит
Паша
В этом и плюс и минус
ManBearPig
Ну все асинхронно
Паша
Открыл бокс - загрузил его в оперативке.
Паша
Ну смотри. Есть бокс, в нём надо что-то изменить, как это сделать?
ManBearPig
Угу как стрим держать ?) Зачем, если клиент ушёл с нужной страницы его я закрываю)
ManBearPig
[
"Когда заходите на активити , открываем бокс асинх и все.... put ",
{
"type": "bot_command",
"text": "/delute"
},
" сколько нужно"
]
Паша
То что в оперативке лежит это и плюс и минус. Плюс что быстро, минус что может не сохраниться
Паша
Имею в виду изменение существующей записи.
ManBearPig
Ну это для условного профиля/ настрчоек
ManBearPig
Понял вас, но exception ни разу не ловил в этом блоке
ManBearPig
Sqllite такого вроде не поддерживает
Паша
Ну я скорее о том что вам могут прихлопнуть приложение, или банально крашнуться может.
Timur Ataev
А вы moor пользуетесь?
ManBearPig
Ну будем смотреть......=/
Паша
Поэтому я думаю что hive это скорее хранилище, а не прям бд на все случаи жизни. Шифрование как бонус для этого
Паша
Нет, им пока не пользовался.. но SQL он и в Африке...
ManBearPig
Да все верно . Но разве в аппах часто делаете всякие join оевые/правые ..... Это просо хранилище ..... С простейшей выборкой
Timur Ataev
Я вот как раз в эту Африку из веба пришёл, работаю только с sql, ощущение что moor тут пользуются единицы) мало инфы, туториалов
ManBearPig
Так используйте sqllite там все очень понятно .....тем более, если в sql инструкциями у Вас проблем нет
Паша
Не часто нужен именно он.. Ну и порог входа выше
Timur Ataev
Есть moor inspector для того, чтобы видеть саму бд, редактировать как в какомниьудь phpmyadmin, но ноль видео по его настройке
ManBearPig
Ок , Вам виднее )
Timur Ataev
А как же орм)) не хочется в чистый sql возвращаться)
Гува
Ребят, [хеееелп,у меня не отоброжаются иконки в приложение погода, не работает не видеть getIconUrl()
|