Size: a a a

Dart & Flutter по-русски

2020 March 20

RK

Rinat Kurmashev in Dart & Flutter по-русски
Aleksandr Aleksandr
И как оно?
на след. неделе релиз)
источник

AA

Aleksandr Aleksandr in Dart & Flutter по-русски
Неплохо)
Вы чисто на флаттере или кросс-платформенное делали?
источник

AA

Anton Anokhin in Dart & Flutter по-русски
Привет! Завтра проводим первый онлайн-воркшоп по основам DartAngular (на английском). Кому интересно начать изучение языка с азов, присоединяйтесь https://www.meetup.com/WrikeTechClub/events/269182048/
источник

M

Mikhail in Dart & Flutter по-русски
Всем привет, давно не игрался с флаттером. Здесь до сих пор основной способ сделать "дата классы" с сериализацией/десериализацией в json это built_value? Он поддерживает экспериментальное дартовское nullability?
источник

K

Konstantin in Dart & Flutter по-русски
Dmitro Cossack
Добрый день. Прошу помощи в направлении решения поставленной мне задачки.
Дано. Мобильный Терминал оплаты на андроиде (https://multisoft.ru/mobilnye-kassy-mspos/mspos-e-f/16-mobilnye-kassy-mspos-k/67-kkt-mspos-e-f).  Сам аппарат китайский sunnmi. К аппарату в принципе есть какая-то документация для разработчиков (http://77.243.109.96:8881/redmine/projects/mspos-k/wiki/QA и http://doc.multisoft.ru/doc/MSPOS/html/index.html). Там же есть ссылки на примеры работы с аппаратом. Но вся  загвоздка в том, что я ни разу не нативщик, а исходники все на Java. Чисто теоретически я знаю, что можно Флаттер прикрутить к уже готовому проекту. Но хочется не внедряться в тестовый пример (https://github.com/shangmisunmi/SunmiPrinterDemo) , который нормально собирается и запускается на устройстве. Мне в устройстве нужен (пока) доступ к принтеру и камере. С камерой на флаттере как-то я разберусь, а вот с принтером без "шаманства" с АПИ я так полагаю никак не получится.
Собственно просьба дать  линки на материалы (статьи, уроки, видео, примеры в гитхабе) с помощью которых я смогу сдвинуться с места. Официальные доки Флаттера я штудирую, но мне нужно как-то зацепиться за то, как прикрутить АПИ этого принтера (и собственно что он собой представляет? Какие файлы нужно использовать? JAVA? AIDL? или еще что-то?)  к проекту на Flutter.
Огромное спасибо всему комьюнити.
я так понимаю принтер подключается к телефону по Bluetooth? Тогда надо разобраться как работать в flutter с ble и изучить протокол связи с принтером.
Вот видео https://youtu.be/CcLt-nBLWJU  где автор пишет программу для связи с контроллером по ble. По сути у вас аналогичная ситуация только не аудио профиль устройства.
Статья по работе с Bluetooth и flutter: https://medium.com/flutter-community/flutter-for-bluetooth-devices-5594f105b146
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Konstantin
я так понимаю принтер подключается к телефону по Bluetooth? Тогда надо разобраться как работать в flutter с ble и изучить протокол связи с принтером.
Вот видео https://youtu.be/CcLt-nBLWJU  где автор пишет программу для связи с контроллером по ble. По сути у вас аналогичная ситуация только не аудио профиль устройства.
Статья по работе с Bluetooth и flutter: https://medium.com/flutter-community/flutter-for-bluetooth-devices-5594f105b146
В принципе там есть упоминание блютуса. Но скорее всего принтер подключается ч-з AIDL. Я так и не смог "увидеть" его в списке устройств в примерах со сканом (типа вот такого https://pub.dev/packages/flutter_blue)  Как его перевести в режим блютуса я не нашел или не понял в чем отличие доступа во блютус и ч-з AIDL. Поэтому я бросил это направление. В принципе я даже нашел какой-то модуль для принтеров этой фирмы (https://pub.dev/packages/sunmi). но я так и не смог запустить их пример... может модели не стыкуются, может что-то с версиями чего-либо не так... Но я его пока отложил как возможность поковыряться в исходнике в плане понимания, как это должно делаться...
источник

M

Max in Dart & Flutter по-русски
Aleksandr Aleksandr
Именно в коммерческих проектах
В полный рост.
источник

A

Aleksey in Dart & Flutter по-русски
Dmitro Cossack
В принципе там есть упоминание блютуса. Но скорее всего принтер подключается ч-з AIDL. Я так и не смог "увидеть" его в списке устройств в примерах со сканом (типа вот такого https://pub.dev/packages/flutter_blue)  Как его перевести в режим блютуса я не нашел или не понял в чем отличие доступа во блютус и ч-з AIDL. Поэтому я бросил это направление. В принципе я даже нашел какой-то модуль для принтеров этой фирмы (https://pub.dev/packages/sunmi). но я так и не смог запустить их пример... может модели не стыкуются, может что-то с версиями чего-либо не так... Но я его пока отложил как возможность поковыряться в исходнике в плане понимания, как это должно делаться...
А зачем для этой задачи флатер? Такого же терминала, но под айос нету. Делайте на нативе
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Aleksey
А зачем для этой задачи флатер? Такого же терминала, но под айос нету. Делайте на нативе
Вот если-бы я умел в натив, вопросов вообще никаких не было-бы. А научиться за пару недель писать в натив я уже не успею... Просто поменять кнопочки из примера и заменить какие-то картинки, это я успею, но мне еще надо в интернет ходить, данные парсить, картинки генерить, в камеру смотреть, обрабатывать изображение и еще куча мелочей...
источник

K

Konstantin in Dart & Flutter по-русски
AIDL это интерфейс связи между приложениями https://javadevblog.com/chto-takoe-aidl-v-android-opisanie-i-primer-ispol-zovaniya.html Он с Bluetooth не связан.
источник

DO

Dmitriy Orteney in Dart & Flutter по-русски
Бывает производитель зашивает управление принтером сервисом в систему. Вот тогда оно по Aidl работает
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Да. Я понимаю, что не связан. Просто он связан с возможностью подключиться к принтеру. По докам от китайцев и наших ребят, которые допиливали его под наши реалии с принтером можно связаться или по AIDL или по блютусу. Все мои шаманства с блютусом не дали вообще никаких результатов, а приме с доступом по AIDL нормально запустился.
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Dmitriy Orteney
Бывает производитель зашивает управление принтером сервисом в систему. Вот тогда оно по Aidl работает
Вот это скорее всего и есть тот случай
источник

K

Konstantin in Dart & Flutter по-русски
Dmitriy Orteney
Бывает производитель зашивает управление принтером сервисом в систему. Вот тогда оно по Aidl работает
да, точно это я упустил
источник

DO

Dmitriy Orteney in Dart & Flutter по-русски
Dmitro Cossack
Да. Я понимаю, что не связан. Просто он связан с возможностью подключиться к принтеру. По докам от китайцев и наших ребят, которые допиливали его под наши реалии с принтером можно связаться или по AIDL или по блютусу. Все мои шаманства с блютусом не дали вообще никаких результатов, а приме с доступом по AIDL нормально запустился.
ну в том примере, что ты скидывал они рекомендуют либку подключать, в ней все шаманства аидла скрыты)
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Dmitriy Orteney
ну в том примере, что ты скидывал они рекомендуют либку подключать, в ней все шаманства аидла скрыты)
в этом примере (https://github.com/shangmisunmi/SunmiPrinterDemo) или этом (https://pub.dev/packages/sunmi)? Вот я сейчас и учусь подключаться к "либам". Но пока даже пример из доков (https://flutter.dev/docs/development/platform-integration/platform-channels) (https://github.com/flutter/flutter/tree/master/examples/platform_channel) не запускается даже просто на моей мобиле... Какой-то ERROR:flutter/lib/ui/ui_dart_state.cc(157) выкидывает..
источник

hh

hh hais in Dart & Flutter по-русски
Всем привет, возник вопрос я его задавал, сейчас просто уточню.  Как реализуется sqlite+list view во флаттере? Чтобы при выборе списка пользователь попадал на новую активити(страницу) с возможностью прочитать текст на странице?
Этакой оффлайн-справочник, работающий без интернета.

гуглить гуглил, но пример не могу найти, аналогичный запросу.
источник

SS

Sergey Salnikov in Dart & Flutter по-русски
Maria
есть навигационное дерево. Допустим, структура государства. Государства разные - структуры разные. Мне нужно отобразить это в многоуровневом списке с чекбоксами. Чекбоксы должны работать как обычные чекбоксы 😁 Выбираю корень - все внутри выбирается. Выбираю какого-то родителя, имеющего детей - выбирается родитель и дети, выбираю ребенка - выбирается ребенок. При этом в случае если я выбрала корень, а потом у какого-то ребенка сняла выделение - корень должен стать unchecked (в идеале третье состояние, partly selected, но пока unchecked более, чем достаточно). Соответственно и наоборот, если руками выбрала всех детей в каком-то родителе, то родитель должен стать checked.
https://gist.github.com/cutzmf/3f2b11aefc902d54710db28a6709d054
Описанные кейсы покрыты тестами
источник

K

Konstantin in Dart & Flutter по-русски
Dmitro Cossack
в этом примере (https://github.com/shangmisunmi/SunmiPrinterDemo) или этом (https://pub.dev/packages/sunmi)? Вот я сейчас и учусь подключаться к "либам". Но пока даже пример из доков (https://flutter.dev/docs/development/platform-integration/platform-channels) (https://github.com/flutter/flutter/tree/master/examples/platform_channel) не запускается даже просто на моей мобиле... Какой-то ERROR:flutter/lib/ui/ui_dart_state.cc(157) выкидывает..
попробовал собрать проект из этой репы: https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/tree/master/example
Всё собралось, там правда какой-то картинки в assets не хватает.
Но по сути как написал @orteney там флаттер дергает методы нативного плагина под android https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/blob/master/android/src/main/java/asriworks/com/sunmi_aidl_print/SunmiAidlPrintPlugin.java, который вызывает методы AIDL https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/blob/master/android/src/main/aidl/woyou/aidlservice/jiuiv5/IWoyouService.aidl
источник

DC

Dmitro Cossack in Dart & Flutter по-русски
Konstantin
попробовал собрать проект из этой репы: https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/tree/master/example
Всё собралось, там правда какой-то картинки в assets не хватает.
Но по сути как написал @orteney там флаттер дергает методы нативного плагина под android https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/blob/master/android/src/main/java/asriworks/com/sunmi_aidl_print/SunmiAidlPrintPlugin.java, который вызывает методы AIDL https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/blob/master/android/src/main/aidl/woyou/aidlservice/jiuiv5/IWoyouService.aidl
Да. Возможно. Там у меня какая-то затыка была именно с запуском на устройстве. Проект собирался и APK было, но на устройство "залезать" почему-то не хотело. То-ли сама система на устройстве не пускала, то-ли еще какая фигня, при попытке из АндроидСтудии это запустить, оно собирало и потом выбрасывало ошибку и устройство просто отрубалось от компа.
Сейчас я уже хоть как-то смог запустить вот такой пример (https://gist.github.com/branflake2267/5d68ad16193fe5ef86f37c0a4a4e8abc) - вариация примера из доков. Теперь буду сравнивать с https://github.com/irpankusuma/SUNMI_AIDL_PRINTER/tree/master/example. И пытаться получить нужный результат. Спасибо за помощь. И статейка "Что такое AIDL в Android?" пригодится.
источник