Русский
Русский
English
Статистика
Реклама

Hms ml kit;android development

Реализация функции сканирования штрихкодов с помощью HMS Core Scan SDK

03.08.2020 16:04:44 | Автор: admin

Общая информация


В нашей последней статье мы рассказали о том, как быстро интегрировать HMS Core Scan SDK, и сравнили этот SDK с другими инструментами сканирования штрихкодов с открытым исходным кодом. Если вы еще не читали эту статью, вы можете найти ее здесь forums.developer.huawei.com/forumPortal/en/topicview?tid=0201253510238810243&fid=0101187876626530001
Мы сканируем штрихкоды каждый день, чтобы оплачивать покупки, подписываться на аккаунты в социальных сетях и получать информацию о продуктах. Сегодня я хочу показать вам, как реализовать функцию сканирования штрихкодов в приложении для покупок.

Сценарий


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


Схема действий




Подготовка


Откройте файл build.gradle в папке gradle



Перейдите в раздел allprojects > repositories и настройте адрес репозитория Maven для HMS Core SDK.
allprojects {     repositories {         google()         jcenter()         maven {url 'http://developer.huawei.com/repo/'}     }  }

Перейдите в раздел buildscript > repositories и настройте адрес репозитория Maven для HMS Core SDK.
buildscript {     repositories {         google()         jcenter()         maven {url 'http://developer.huawei.com/repo/'}     }  }

Добавьте зависимости


Откройте файл build.gradle в папке app.


Интегрируйте HMS Core SDK.
dependencies{      implementation 'com.huawei.hms:scan:1.1.3.301'}Assign permissions and specify features.<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-feature android:name="android.hardware.camera" /><uses-feature android:name="android.hardware.camera.autofocus" />

Поскольку для интеграции SDK используется режим Просмотр по умолчанию, укажите право на использование экрана сканирования в файле AndroidManifest.xml в папке приложения.
<activity android:name="com.huawei.hms.hmsscankit.ScanKitActivity" />


Реализация


Для реализации доступны две функции: добавление продукта и поиск продукта. Вы можете привязать продукт, отсканировав штрихкод и сделав фотографию. Затем пользователи смогут искать этот продукт путем сканирования штрихкода.

Отправьте заявку на динамический запрос прав


private static final int PERMISSION_REQUESTS = 1;@Override public void onCreate(Bundle savedInstanceState) {     // Checking camera permission      if (!allPermissionsGranted()) {       getRuntimePermissions();   }}

Откройте экран добавления продукта


Нажмите Add Product, чтобы открыть экран, на котором вы сможете добавить продукт.
public void addProduct(View view) {        Intent intent = new Intent(MainActivity.this, AddProductActivity.class);        startActivityForResult(intent, REQUEST_ADD_PRODUCT);    }

Отсканируйте штрихкод для записи информации о продукте


Отсканируйте штрихкод с помощью режима Просмотр по умолчанию HUAWEI Scan Kit.
private void scanBarcode(int requestCode) {        HmsScanAnalyzerOptions options = new HmsScanAnalyzerOptions.Creator().setHmsScanTypes(HmsScan.ALL_SCAN_TYPE).create();        ScanUtil.startScan(this, requestCode, options);    }

Сохраните результат сканирования в функции обратного вызова


@Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (data == null) {            return;        }        if ((requestCode == this.REQUEST_CODE_SCAN_ALL)                && (resultCode == Activity.RESULT_OK)) {            HmsScan obj = data.getParcelableExtra(ScanUtil.RESULT);            if (obj != null && obj.getOriginalValue() != null) {                this.barcode = obj.getOriginalValue();            }        } else if ((requestCode == this.REQUEST_TAKE_PHOTO)                && (resultCode == Activity.RESULT_OK)) {                    }}

Отсканируйте штрихкод для поиска продукта


Нажмите Query Product и откройте экран, где вы сможете найти продукт. Отобразите результат с помощью функции обратного вызова.
public void queryProduct(View view) {        HmsScanAnalyzerOptions options = new HmsScanAnalyzerOptions.Creator().setHmsScanTypes(HmsScan.ALL_SCAN_TYPE).create();        ScanUtil.startScan(this, REQUEST_QUERY_PRODUCT, options);}@Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (data == null) {            return;        }        if ((requestCode == this.REQUEST_ADD_PRODUCT) && (resultCode == Activity.RESULT_OK)) {            barcodeToProduct.put(data.getStringExtra(Constant.BARCODE_VALUE), data.getStringExtra(Constant.IMAGE_PATH_VALUE));        } else if ((requestCode == this.REQUEST_QUERY_PRODUCT) && (resultCode == Activity.RESULT_OK)) {            HmsScan obj = data.getParcelableExtra(ScanUtil.RESULT);            String path = "";            if (obj != null && obj.getOriginalValue() != null) {                path = barcodeToProduct.get(obj.getOriginalValue());            }            if (path != null && !path.equals("")) {                loadCameraImage(path);                showPictures();            }        }    }

Попробуйте сами!


Нажмите Add Product. На появившемся экране отсканируйте штрихкод продукта и сфотографируйте продукт. Нажмите Query Product и отсканируйте штрихкод продукта. Так как продукт был зарегистрирован в системе, информация о нем будет возвращена.

github.com/HMS-Core/hms-scan-demo/tree/master/Scan-Shopping

Новые примеры


Мы будем делиться с вами примерами других удивительных функций, доступных в HUAWEI Scan Kit. Следите за новостями!
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru