Программирование : Dart & Flutter по-русски
Оганнес Асатрян
Как хендлить этот момент
Оганнес Асатрян
Я не про среду разработки щас
Оганнес Асатрян
А про редкий случай в андроид
Оганнес Асатрян
Когда ты свернул приложение
DVS (Read The F.ng Manual) Studio (NoHello)
На ми5s всё летает (странно но факт. Мб из-за кастома) .. пинг высокий в метро у меня
Оганнес Асатрян
А система подчистила память
Pavel Shilyagov
[
{
"type": "link",
"text": "https://docs.flutter.io/flutter/widgets/WidgetsBindingObserver-class.html"
}
]
Оганнес Асатрян
Спасибо, гляну
admin
[
{
"type": "link",
"text": "https://pastebin.com/raw/PZgTbFFB"
},
" - я даже не поленился и написал для тебя пасту, которая должна разъяснить дыры в понимании."
]
Vladimir Ryhlitskiy
[
"В рут изоляте обрабатываються только *ивенты* от операций http/db (сами операции не блокирующие, и, судя по всему, выполняются последовательно в отдельной очереди в I/O thread, что в данном случае не важно), поэтому само по себе вынесение http и/или db в отдельные изоляты не прекратит UI лаги. Другое дело - если есть парсинг или блюр или еще что-то (это нужно смотреть код). Я бы попробовал релиз сборку (AOT в release vs JIT для hot reload ",
{
"type": "link",
"text": "https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf"
},
", плюс флаттер оптимизации). Если будет лагать - профайлил бы (",
{
"type": "link",
"text": "https://flutter.io/docs/testing/ui-performance#the-performance-overlay"
},
")"
]
Anatoliy Dvoryashin
Вопрос вот какой! Я только недавно стал изучать программирование так что особо не гневайтесь! Есть простое приложение типо визитной карточки. Состоит: вверху фото, потом текст, и внизу экрана фото с иконками от социальных сетей! При смене ориентации экрана, должна быть другая отрисовка экрана, слево фото, справа текст и фото с иконками от социальных сетей. В уроках под Андроид которые я изучал, там все просто, создаёшь 2 .xml файла для каждой ориентации экрана. Я добился того на flutter, чтобы менялось фото при смене ориентации. А как добиться другой отрисовки?
Roman Peshkov
[
{
"type": "link",
"text": "https://medium.com/flutter-community/developing-for-multiple-screen-sizes-and-orientations-in-flutter-fragments-in-flutter-a4c51b849434"
}
]
Anatoliy Dvoryashin
Если есть ещё что почитать пишите
j k
[
"всем привет, почему эта штука вызывается n-раз ( 5 )\n",
{
"type": "pre",
"text": "FutureBuilder (\n future: this.lotRepository.get(this.lotId),\n builder: (BuildContext context, AsyncSnapshot snapshot) {\n print(this.lot.bids);\n if (snapshot.data != null) {\n this.lot = snapshot.data;\n return this.lotPage();\n } else {\n return progressIndicator();\n }\n },\n )",
"language": ""
},
""
]
j k
это не в цикле если что, в scaffold body
Pavel Shilyagov
При навигации?
j k
виджет загрузился и логируется 5 раз в билдере
Pavel Shilyagov
Это нормально. Известная проблема)
Pavel Shilyagov
Лучше отказаться от FutureBuilder
tdesc
вы серьезно думаете, что по вот этому куску кода и по 2 вызовам что-то понятно?
Pavel Shilyagov
Ну всегда быть готовым, что фьюча может быть вызвана много раз в любое время. Писать код с расчётом на такое поведение
tdesc
я могу написать такой код который будет 1 раз отрабатывать 146%
tdesc
а могу чтобы раз в секунду выстреливал
tdesc
вот и разбирайтесь со своей фьючер чего она делает
Анатолий
[
{
"type": "link",
"text": "https://pub.dartlang.org/packages/isolate_executor#-readme-tab-"
},
" такое подойдет?"
]
admin
showDatePicker() на русский переводится?)
admin
а локаль отображения?)
admin
других альтернатив нет? как то он грузит проц сильно
DVS (Read The F.ng Manual) Studio (NoHello)
Это при простое или при перелистывании?
admin
при выборе больше всего
DVS (Read The F.ng Manual) Studio (NoHello)
Хмм. Эт странно.
DVS (Read The F.ng Manual) Studio (NoHello)
Альтернативы две. Шариться по гиту/pub Или писать свой
admin
на часах в пределах нормы, при выборе
admin
Ребята, здравствуйте. Я разработчик на java,c++,c#. Т.е. с програмированием знаком. Погуглил инет. Почитал-но времени не хватает. Суть вопроса: Есть некая система написанная на java состоящая из контейнера webview и экспортируемых внутрь js интерфейсов. View приложения написан на js. Стоит ли переписывать приложение ( и view и model/controler) на dart для введения кроссплатформенности?
Daniil S
ребят есть идея почему не блюрит при сигме больше 2 место индикатора нижнего бара
Daniil S
в самом низу есть 2-3 строки пикселей котороые не заблюрились
Daniil S
а когда сигма 1 все ок работает
Sergey ?
заведи багу, с примером
Sergey ?
перепроверь с другими виджетами
Daniil S
если я его подниму к середине
Daniil S
не могу найти логического обьяснения такому поведению
Sergey ?
хм, может это safe area как-то влияет
Sergey ?
да, заведи им issue
Daniil S
на андрюше все четко
Daniil S
отправил им issue со ссылками на скриншоты
Daniil S
болячка только на закругленных экранах наблюдается
Daniil S
на 6s plus все отлично
Sergey ?
так же там надо прикрепить данные с flutter --doctor
Sergey ?
они без этого не примут тикет
Daniil S
что у меня подсы установлены?
Daniil S
ну ладно добавлю, что поделать, раз не посмотрят
Sergey ?
там инфа про флаттер и тулзы
Sergey ?
flutter doctor -v
Sergey ?
вот что они просят
Daniil S
Да, понимаю, отправил уже
Sergey ?
[
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/25990"
},
"\nможно вставлять картинки прямо в текст"
]
Daniil S
У тебя не лагает гитхаб?
Daniil S
У меня сегодня весь день еле еле грузит
Daniil S
Надеюсь поправят
Sergey ?
думаю им надо ещё код как ты блюришь меню
Konstantin Smirnov
[
"Всем привет. С НГ! \nПо существу, помогите, пожалуйста, запихнуть в Map несколько пар с одинаковыми ключами, для последующей отправки через ",
{
"type": "link",
"text": "http.post"
},
". \nВ ретрофите это делалось просто, а тут туплю."
]
Дмитрий Скрыльников
Извращения какие-то
Konstantin Smirnov
В смысле?
Sergey ?
В Map несколько одинаковых ключей не засунешь
Konstantin Smirnov
[
"Это я уже понял. Но Api требует передать x-www-form-urlencoded массив полей с одинаковыми ключами (названиями). Есть способ?\nК примеру, в Ретрофите под андроид я делаю так:\n",
{
"type": "mention",
"text": "@FormUrlEncoded"
},
"\n @POST(\"Api/Users/Edit\")\n Single putLanguages(\n ",
{
"type": "mention",
"text": "@Field"
},
"(\"ClientHardwareId\") String hardwareId,\n ",
{
"type": "mention",
"text": "@Field"
},
"(\"ClientAccountId\") String clientAccountId,\n ",
{
"type": "mention",
"text": "@Field"
},
"(\"selectedLanguages\") int... languages);"
]
Дмитрий Скрыльников
У вас явно проблема с api
Konstantin Smirnov
API не мое. Я делаю клиент
tdesc
просто в мапу кладете ключи, передаете ее в body запроса
tdesc
в хедеры прописываете нужные параметры запроса
First Last
Есть у кого пример тестов для редакса? ?? (Просто пример моков тоже подойдет :3)
First Last
[
{
"type": "link",
"text": "https://gitlab.com/brianegan/flutter_architecture_samples/tree/master/example/redux/test"
},
"\nУпс.\nЕсли кому-то нужно будет."
]
Konstantin Smirnov
В Map не положить пары с одинаковым ключом. А на сервер должен отправиться запрос с постпараметрами вида: "selectedLanguages": 2, "selectedLanguages": 5, "selectedLanguages": 7, "selectedLanguages": 8,
Александр Котков
А как это парсит сервер простите?
Александр Котков
Это смахивает на дичь
Александр Котков
Почему бы не отправить так например "selectedLangauges" : "2,5,7,8" и парсить на бэкэ по запятой
Александр Котков
Запусти профайлер, возьми промежуток, когда был сделан запрос, увидешь его структуру запроса и просто повтори её
Konstantin Smirnov
[
"Сервер парсит. Но это на его стороне. Я туда залезть не могу. Вот у кого-то подобная задача когда-то всплывала, не на Dart-e, конечно: ",
{
"type": "link",
"text": "https://stackoverflow.com/questions/45834420/send-array-as-part-of-x-www-form-urlencoded"
},
""
]
Александр Котков
Чекни стуктура запроса ретрофита, он просто оболочка на okhttp либой, так что там тоже будет мапа скорее всего, в профайлере андроид студии можно на андроде 28 апи и вышк сделать дамп запросов в сеть, вот и посмотришь как сделать
Alexey Perelygin
application/x-www-form-urlencoded: значения кодируются в кортежах с ключом, разделенных символом '&', с '=' между ключом и значением.
Alexey Perelygin
Берешь и делаешь не как мап
Alexey Perelygin
И по идее он должен съесть норм такой Map >
Yergali
всем привет, есть кто с Алматы?
Konstantin Smirnov
Спасибо! Попробую
Анатолий
Перед тем как слушать людей выше и городить дичь, попробуй в мап засунуть лист, выйдет один ключ и много значений
Roman Peshkov
[
{
"type": "link",
"text": "https://9to5google.com/2019/01/02/android-runtime-app-support-fuchsia/"
}
]
Konstantin Smirnov
Сделал, http ругается на list: Dart Error: Unhandled exception: E/flutter (18811): type 'List ' is not a subtype of type 'String' in type cast
Анатолий
Это у вас тип не подходит под данные
Анатолий
Вы пытаетесь привести строку к списку
Konstantin Smirnov
Я могу ошибаться, но http принимает только Map (String, String)
Igor Filippov
после декода там Map
Igor Filippov
[
{
"type": "link",
"text": "https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51"
}
]
Олжас Сулеймен
[
"на беке все просто ",
{
"type": "link",
"text": "https://api.dartlang.org/stable/2.1.0/dart-io/HttpHeaders-class.html"
},
""
]
First Last
Эй, люди. Кто тесты писал к скрину с редаксом (Обертка для флаттера)?
First Last
[
"В общем, фича с ",
{
"type": "code",
"text": "StoreConnector"
},
".\nВ эмуляторе все гуд, в тестах прокидываю оригинальный ",
{
"type": "code",
"text": "store"
},
" и получаю ошибку \n\n",
{
"type": "pre",
"text": "The following StoreProviderError was thrown building StoreConnector (dirty):\nError: No StoreProvider found.",
"language": ""
},
"\n\nИмпорчу через полный путь через ",
{
"type": "code",
"text": "package:..."
},
""
]
First Last
Сталкивался кто?
Danila
Всем привет, у меня некоторое недоумение по поводу виджета Container, я не могу найти в документации что у него есть проперти color, которое мелькает во всех примерах использования. Ткните носом куда смотреть пжлста
Danila
Я понимаю что оно есть, я просто хочу понять это документация не полна или есть места которые я пропустил
invariance
я вверху скинул кусок доки
Dmitry Gordin
?? там и документация в комментах
Dmitry Gordin
самое лучшее средство, в андроиде всегда так делаю
RЯ
а где твоя документация?)
Danila
[
{
"type": "link",
"text": "https://docs.flutter.io/flutter/widgets/Container-class.html#instance-properties"
}
]
RЯ
до сих пор не видишь?))
invariance
чувак, проперти и аргументы конструктора - разные вещи
Gerc
Когда уже джаву вернут во флютер
RЯ
поиск по странице ещё можно иногда пробовать
Алекс
[
"Приветствую. С dart немного разобрался, решил попробовать flutter. необходимо наладить получение данных с хоста. Использую import 'package:http/http.dart' as http;\nзапрос отправляю так\n",
{
"type": "link",
"text": "http.post"
},
"(url, body: jsonEncode(msg) )\nзаметил, что если ответ небольшого объема - то все работает хорошо, в противном случае вылетает на ошибке\nE/flutter (23523): [ERROR:flutter/shell/common/",
{
"type": "link",
"text": "shell.cc"
},
"(184)] Dart Error: Unhandled exception:\nE/flutter (23523): Connection closed while receiving data\nаналогичный клиент в web написанный на дарте с сервером работает без проблем, правда там для соединения использовал класс HttpRequest.\nНе подскажите куда копать?"
]
Алекс
[
"http.Response resp = await ",
{
"type": "link",
"text": "http.post"
},
"(url, body: jsonEncode(msg));"
]
Анатолий
а на сколько большой ответ?
Алекс
сейчас посмотрю в web версии
admin
А кто нибудь заводил пуши на айос без файрбейза?
Алекс
до 200 проходит без проблем
Анатолий
Попробуй использовать то же что и в веб
Алекс
в гугле нашел что с такой проблемой сталкивались и она была на имуляторе, с реальным устройством все хорошо
Алекс
Я бы попробовал на как во fluter HttpRequest подключить? он ведь в html_dart2js.dart
Alexander Petrov
Привет, а кто-то из Киева есть?
Алекс
как во flutter HttpRequest импортировать? это возможно?
Анатолий
в в веб версии вы не импортируете ничего?
Алекс
нет. он вроде вместе с import 'dart:html'; тянется
Анатолий
там есть HttpRequest
Анатолий
ты его во флаттере использовал?
Алекс
сейчас попробую подключить
Алекс
HttpRequest request = new HttpRequest(); его так создать нельзя. пишет что абстрактный
Анатолий
[
{
"type": "link",
"text": "https://codeburst.io/quick-tip-how-to-make-http-requests-in-dart-53fc407daf31"
}
]
Алекс
здесь import 'dart:html'; это для darta
Анатолий
там превый де пример посмотрите по ссылке
Алекс
[
"import 'dart:io';\nimport 'dart:convert';\nvoid main() {\n HttpClient()\n .getUrl(Uri.parse('",
{
"type": "link",
"text": "https://swapi.co/api/people/1"
},
"')) // produces a request object\n .then((request) => request.close()) // sends the request\n .then((response) =>\n response.transform(Utf8Decoder()).listen(print)); // transforms and prints the response\n}"
]
Анатолий
импорт дарт хтмл нету
Алекс
не понятно где здесь метод post
Daniil S
ребят подскажите кто сталкивался, нажимаю на текстфилд и над клавиатурой прямоугольник появляется размером с клавиатуру
Анатолий
getUrl = postUrl
Оганнес Асатрян
Покажи скриншот
Анатолий
просто request метод есть более полный
Daniil S
[
{
"type": "mention",
"text": "@JohnnySC"
}
]
Алекс
все равно не понимаю как в данном вызове отправить на сервер json-запрос
Анатолий
Там по ссылке точно нет примера пост запроса?
Daniil S
Спасибо, resizeToAvoidBottomPadding: false,
Алекс
[
"You can make a POST request by using the postFormData static method:\nvar data = { 'firstName' : 'John', 'lastName' : 'Doe' };\nHttpRequest.postFormData('",
{
"type": "bot_command",
"text": "/send"
},
"', data).then((HttpRequest resp) {\n // Do something with the response.\n});\nНо как это прикрутить - не соображу"
]
Alexander Gusakov
привет всем, имею такую ошибку при запуске андроида на эмуляторе
Alexander Gusakov
ктото сталкивался?
Alexander Gusakov
гуглеж не особо помог
Alexander Gusakov
тоесть все что предлагали делал
Sergey ?
Запусти SDK Manager и прими лицензионное соглашение
Alexander Gusakov
/Users/apple/Library/Android/sdk
Alexander Gusakov
такой путь к сдк?
tdesc
в распечатку ответа с сервера и в try catch
Алекс
так ответ и не могу получить, оно падает. точнее получает, но не всегда
tdesc
в try catch и смотри что разваливается
tdesc
в catch(e) print(e)
Sergey ?
Используй gist или pastebin
Алекс
не срабатывает catch
Алекс
try { http.put(Uri.encodeFull(url), body: jsonStr2, headers: { "Accept": "application/json"}).then((result) { print(result.statusCode); print(result.body); }); } catch(E) { print(E); }
Alexander Gusakov
или хотя б так
Alexander Gusakov
[
{
"type": "pre",
"text": "some code",
"language": ""
}
]
Оганнес Асатрян
Чот пошло не так
Alexander Gusakov
а что вы используете для push notifications?
Daniil S
там похожий флаг как у активити в дройде
Daniil S
чтобы не скелился контент
Alexander Gusakov
ван сигнал или файрбейз?
Alexander Gusakov
а воотбще сложно подключается?
Alexander Gusakov
спасибо, буду его юзать
Alexander Gusakov
а для андроида как используете эмулятор?
Alexander Gusakov
встроеный или дженимоушн?
Daniil S
Ребят какие шансы отправить в гугел приложенице свое на флаттере, чтобы в примеры добавили?
Daniil S
а то там казахский календарь, который как из 2007
Daniil S
[
"Я про примеры приложений, что на ",
{
"type": "link",
"text": "flutter.io"
},
""
]
Daniil S
наверное там модерации жеская
Daniil S
думаю стоит ли заморачиваться
Alexey Perelygin
Чисто в нативке ??
First Last
Я не понимаю, никто тесты не пишет что ли? ??
|