Рубрика «api» - 19

1. Выбор способа обмена. Описание API.

2. Реализация API на стороне 1С.

3. BroadcastReceiver. Получаем данные

4. OnKeyUp. Сканер ШК с эмуляцией клавиатуры

Эта статья должна была стать самой короткой. Но дьявол в деталях. Вот несколько фактов.

Факт 1. Если у нас на форме есть несколько полей EditText, и для всех мы переопределим OnKeyListener, то onKeyUp и onKeyDown затеняются и больше не вызываются. Код.

class MainActivity : AppCompatActivity() {

    var keyListener: View.OnKeyListener = View.OnKeyListener { _, _, _ ->
        true}
        
        override fun onCreate(savedInstanceState: Bundle?) {
          val editBarcode = findViewById(R.id.editBarcode)
          editBarcode.setOnKeyListener (keyListener)

          val editQuantity: EditText = findViewById(R.id.editQuantity)
          editQuantity.setOnKeyListener(keyListener)

Из этого следует
Факт 2. onKeyUp и onKeyDown срабатывают только для тех полей, для которых не переопределен OnKeyListener. И только при нахождении в данном поле.

Факт 3. АТОЛ Lite.Droid в версии 1.1.1 не передает KeyEvent = KEYCODE_TAB если он выставлен в качестве префикса. Ни в префикс1, ни в префикс2. В суффикс я его не пробовал. Он там не нужен.

Факт 4. onKeyUp, onKeyDown, setOnKeyListener — слушают только аппаратные нажатия. Клавиатура, сканер с эмуляцией клавиатуры, и как ни странно, кнопка «назад» на экране, это тоже аппаратная кнопка («KEYCODE_BACK»). А цифровые кнопки(физические) на ТСД это — программные кнопки. Почему так, я не понял :) Ну да ладно.

Теперь немного теории.
Читать полностью »

image

Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде.

С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знакомо? Тогда добро пожаловать под кат.
Читать полностью »

  1. Для кого
  2. Выбор способа обмена. Описание API.
  3. Реализация API на стороне 1С.
  4. Android. Cтруктура приложения.
  5. BroadcastReceiver. Получаем данные ШК на примере АТОЛ Smart.Lite.
  6. Реализуем обмен и хранение данных. Используем Retrofit 2, Room, Coroutines.
  7. Пользовательский интерфейс. LiveData, PagedList.

Читать полностью »

Привет! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics».

Часть 1. Создание REST API: основы веб-сервера

Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав несколько начальных каталогов и файлов. Затем вы создадите модуль веб-сервера и подключите его так, чтобы веб-сервер запускался и правильно выключался.

Код в этом проекте будет организован с использованием общей структуры каталогов, которая может быть скорректирована и с течением времени построена по мере необходимости.

cd ~
mkdir hr_app
cd hr_app/
touch index.js
mkdir config
touch config/web-server.js
mkdir controllers
mkdir db_apis
mkdir services
touch services/web-server.js

Файл index.js можно рассматривать как «основной» файл в приложении. Он будет точкой входа в приложение. Мы будем добавлять код в этот файл и файлы web-server.js в каталогах config и services.

Вставьте следующий код в файл Home > hr_app > config>web-server.js

module.exports = {
  port: process.env.HTTP_PORT || 3000
};

В Node.js объект процесса имеет свойство env, которое содержит пользовательскую среду. Я использую это, чтобы установить значение порта в значение переменной среды HTTP_PORT. Если эта переменная среды не определена, значением по умолчанию будет 3000.
Читать полностью »

В последнее время на Хабре стали чаще появляться посты о том, как хорош Telegram, как гениальны и опытны братья Дуровы в построении сетевых систем, и т.п. В то же время, очень мало кто действительно погружался в техническое устройство — как максимум, используют достаточно простой (и весьма отличающийся от MTProto) Bot API на базе JSON, а обычно просто принимают на веру все те дифирамбы и пиар, что крутятся вокруг мессенджера. Почти полтора года назад мой коллега по НПО "Эшелон" Василий (к сожалению, его учетку на Хабре стёрли вместе с черновиком) начал писать свой собственный клиент Telegram с нуля на Perl, позже присоединился и автор этих строк. Почему на Perl, немедленно спросят некоторые? Потому что на других языках такие проекты уже есть На самом деле, суть не в этом, мог быть любой другой язык, где еще нет готовой библиотеки, и соответственно автор должен пройти весь путь с нуля. Тем более, криптография дело такое — доверяй, но проверяй. С продуктом, нацеленным на безопасность, вы не можете просто взять и положиться на готовую библиотеку от производителя, слепо ему поверив (впрочем, это тема более для второй части). На данный момент библиотека вполне работает на "среднем" уровне (позволяет делать любые API-запросы).

Тем не менее, в данной серии постов будет не так много криптографии и математики. Зато будет много других технических подробностей и архитектурных костылей (пригодится и тем, кто не будет писать с нуля, а будет пользоваться библиотекой на любом языке). Итак, главной целью было — попытаться реализовать клиент с нуля по официальной документации. То есть, предположим, что исходный код официальных клиентов закрыт (опять же во второй части подробнее раскроем тему того, что это и правда бывает так), но, как в старые времена, например, есть стандарт по типу RFC — возможно ли написать клиент по одной лишь спецификации, "не подглядывая" в исходники, хоть официальных (Telegram Desktop, мобильных), хоть неофициальных Telethon?

Читать полностью »

Голландский Фонд защиты авторских прав (BREIN) и судебные приставы предписали пятёрке местных хостинг-провайдеров отключить серверы, конфисковать улики и сохранить метаданных трёх голландских и двух иностранных (по отношению к Нидерландам) видеопиратских компаний. Целью приставов стал сервис Moonwalk. По оценке BREINЧитать полностью »

Лого

На Хабре тысячи статей про то, как сделать Телеграм бота под разные языки программирования и платформы. Тема далеко не новая.

Но Telegraff – лучший фреймворк для реализации Телеграм ботов и я это под катом докажу.

Читать полностью »

DonationAlerts запускает открытое API для разработчиков - 1

Сервис увеличения интерактивности стримов DonationAlerts запустил открытое API. С его помощью сторонние разработчики смогут создавать новые виджеты и кастомизировать сервис под нужды стримеров.

Читать полностью »

Согласно законодательству КНР, регистрация на любом интернет-портале или сервисе требует идентифицировать пользователя как реальное лицо. О том, как это сделать, что для этого требуется и какие последствия несет мы и поговорим в этой статье.
Читать полностью »

В конце сентября прошла наша первая встреча для hardware-разработчиков — Яндекс.Железо. Это важный шаг на новом для нас рынке производителей устройств. Участники (около 150 человек) послушали доклады, пообщались и провели много времени на стендах, где можно было заглянуть внутрь беспилотного автомобиля, обезвредить «бомбу», перерезав нужные провода, разобрать Яндекс.Станцию (рекорд — 6 минут 23 секунды), а также протестировать бортовой компьютер Яндекс.Авто и умный дом.

Как научить Алису управлять вашим умным домом. Доклад Яндекса - 1Как научить Алису управлять вашим умным домом. Доклад Яндекса - 2Как научить Алису управлять вашим умным домом. Доклад Яндекса - 3Как научить Алису управлять вашим умным домом. Доклад Яндекса - 4
Как научить Алису управлять вашим умным домом. Доклад Яндекса - 5Как научить Алису управлять вашим умным домом. Доклад Яндекса - 6Как научить Алису управлять вашим умным домом. Доклад Яндекса - 7Как научить Алису управлять вашим умным домом. Доклад Яндекса - 8
Как научить Алису управлять вашим умным домом. Доклад Яндекса - 9Как научить Алису управлять вашим умным домом. Доклад Яндекса - 10Как научить Алису управлять вашим умным домом. Доклад Яндекса - 11Как научить Алису управлять вашим умным домом. Доклад Яндекса - 12

Как раз о платформе умного дома и поговорим сегодня. Весной мы запустили её для всех разработчиков, а на Яндекс.Железе руководитель разработки платформы Марат Мавлютов подвёл первые итоги и показал, как наладить управление устройствами. Из доклада можно узнать о терминах голосового API, способах описания и взаимодействия с девайсом пользователя.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js