Вход | Регистрация
 

Мобильное приложение для ТСД

Мобильное приложение для ТСД
Я
   ДНН
 
14.08.19 - 12:07
Добрый день, коллеги.
Отличается ли чем-нибудь разработка мобильного приложения для ТСД на андроиде от разработки под смартфон/планшет на андроиде?
Спасибо.
 
 
   Garykom
 
1 - 14.08.19 - 12:10
1. Узнай версию андроид (если 4 то тебя ждут страдания)
2. Узнай как работает сканер ШК (тут как повезет, может на ура а может никак даже через страдания)
3. Узнай все что можно про ТСД
   ejikbeznojek
 
2 - 15.08.19 - 16:00
Как раз сейчас пилю приложение для ТСД на мобильной платформе)))
Если андроид выше 5, то уже можно жить.

Пришлось немного поплясать, чтобы считывание ШК через аппаратный сканер (не камера), нормально обрабатывалось внешним событием (через broadcast).

У меня 1 из ТСД с маленькой клавиатурой (21 клавиша цифры, бэкспейс). И я расчитывал что-нибудь забиндить на эти клавиши, но пока выяснилось что в мобильной платформе это так просто не работает и тоже как-то перехватывать придётся.

А так всё тоже самое.
   ejikbeznojek
 
3 - 15.08.19 - 16:07
(1) Я воспользовался читом 8)
Попросил под гарантийное письмо 3 разных ТСД.
У 2х сканер норм заработал, у 3го только в режиме клавиатуры.

Когда я заказчику показывал варианты, я показывал только 2 ТСД))
   xXeNoNx
 
4 - 15.08.19 - 16:40
(0) Отличается, как минимум знанием языка..
(2) Использовал внешнюю компоненту для broadcast?
   ejikbeznojek
 
5 - 15.08.19 - 18:14
(4) Да.
В макет двоичными данными запихиваешь и потом пишешь что-то вроде
    ИмяСобытия = "scan.rcv.message";
    Если ПодключитьВнешнююКомпоненту("ОбщийМакет.Component", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
        Компонента = Новый("AddIn.Broadcasts.UniversalBroadcast");
        Компонента.УстановитьПараметр("FilterName",ИмяСобытия);
        ШаблонДанных = Компонента.ПолучитьШаблонОписанияДанных();        
        barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(0));        
        Компонента.УстановитьПараметр("CaptureData",barcode);
    КонецЕсли;    

    Если не Компонента.Подключить(НомерУстройства) Тогда
    КонецЕсли;

Имя события ищешь в настройках ТСД в поле intent action (я переименовал в самих настройках на "scan.rcv.message")
И если есть в настройках поле - intent string extra, то пишешь туда "data"
Ну или в этой строчке вместо дата пишешь другое название поля из настроек.

barcode = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонДанных,"data",XMLСтрока(Ложь),XMLСтрока(0));
   ejikbeznojek
 
6 - 15.08.19 - 18:20
(5) + Это конфу я не сборщиком собирал, а через http загружал в пустую платформу.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.