[Разработка под Android] Реализация функции сканирования штрихкодов с помощью HMS Core Scan SDK
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Общая информация
В нашей последней статье мы рассказали о том, как быстро интегрировать 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. Следите за новостями!
===========
Источник:
habr.com
===========
Похожие новости:
- [Разработка под Android] RxRelay – это магия? Subject vs RxRelay
- [Java, Программирование, Проектирование и рефакторинг, Разработка под Android, Совершенный код] Руководство Google по форматированию кода на Java (перевод)
- [Разработка мобильных приложений, Разработка под Android, Администрирование баз данных, Kotlin] Сказ о том, как каскадное удаление в Realm долгий запуск победило
- [C++, Open source, Разработка мобильных приложений, Разработка под Android, Читальный зал] Как изучить Android за 3 года, или История одного приложения
- [Разработка мобильных приложений, Разработка под Android] Энергопотребление Android-приложений
- [Разработка под Android, Разработка мобильных приложений, Kotlin] Top 10 Kotlin App Development Companies 2020-21
- [Dart, Flutter, Разработка под Android, Разработка под iOS] Детальный разбор навигации в Flutter
- [Java, Разработка мобильных приложений, Разработка под Android] Как подружить RxJava с VIPER в Android, подходы применения и о структуре планировщиков
- [Разработка мобильных приложений, Разработка под Android, Учебный процесс в IT] Выпускники семестрового курса «Разработка приложений на Android», Технопарк Mail.ru
- [JavaScript, Разработка мобильных приложений, Разработка под Android] Как подружить React Native и Java код на Android
Теги для поиска: #_razrabotka_pod_android (Разработка под Android), [url=https://torrents-local.xyz/search.php?nm=%23_hms_ml_kit;android_development&to=0&allw=0&o=1&s=0&f%5B%5D=820&f%5B%5D=959&f%5B%5D=958&f%5B%5D=872&f%5B%5D=967&f%5B%5D=954&f%5B%5D=885&f%5B%5D=882&f%5B%5D=863&f%5B%5D=881&f%5B%5D=860&f%5B%5D=884&f%5B%5D=865&f%5B%5D=873&f%5B%5D=861&f%5B%5D=864&f%5B%5D=883&f%5B%5D=957&f%5B%5D=859&f%5B%5D=966&f%5B%5D=956&f%5B%5D=955]#_hms_ml_kit;android_development[/url], #_razrabotka_pod_android (
Разработка под Android
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 16:49
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Общая информация В нашей последней статье мы рассказали о том, как быстро интегрировать 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. Следите за новостями! =========== Источник: habr.com =========== Похожие новости:
Разработка под Android ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 16:49
Часовой пояс: UTC + 5