Наш блог

Пересечение штрих-кода

Штрих-код на Android

zxing_zebra_logo
В большинстве случаев, когда сотрудники Telaeris публикуют здесь, это примеры реальной жизни, связанные с нашими продуктами. Это позволяет нам обсуждать широкий круг тем, включая штрих-коды и использование RFID, внедрение системы безопасности или безопасности или советы по управлению бизнесом. Но в основе того, что мы делаем, - это придумать аккуратные решения для сложных проблем, Следующие несколько записей в блогах - это примеры того, как два стажера в Telaeris начали создавать бесплатный новый мобильный продукт для отслеживания штрих-кодов и тэгов RFID с вашего мобильного устройства Android или iPhone. Система называется DataLockr и только что был запущен - я настоятельно рекомендую вам проверить приложение и систему. То, что они описывают в этой статье, - это их первые шаги по созданию простого приложения для чтения штрих-кодов с использованием библиотеки Zxing с открытым исходным кодом для Android.

Этот блог предназначен для хакеров, которые любят кодировать. Наслаждайтесь!

Внедрение упрощенной библиотеки Zxing
В то время как мы проходили процесс обучения использованию ZXing библиотеке, мы вскоре узнали, что было немного хлопотно пытаться понять, что происходит в этой огромной библиотеке. Там было много учебников, но многие шаги либо путали нас, либо устарели. Были вещи, отсутствующие в коде, или вещи, которые были разными в зависимости от версии библиотеки, или что-то не было полностью выяснено. Мы хотели сделать учебник, который поможет любому, кто пытается внедрить простую библиотеку сканирования Zxing, быстро начать использовать ее в своем собственном приложении.

В этом учебнике используется испорченная версия библиотеки Zxing для обучения основам внедрения библиотеки в автономное приложение и развертывание собственного собственного приложения для Android. Мы используем Android Development Kit, в котором используется SDK 19, android 4.4. Библиотека была изменена, чтобы быть сканером штрихового кода с портретом, а не горизонтальной ориентацией по умолчанию.

Вы можете загрузить нашу упрощенную версию библиотеки Zxing для использования и тестирования здесь: CaptureActivity. Это отличается от выпущенной библиотеки ZXing, но хорошо, чтобы вы начали.

Если у вас нет Eclipse с Android SDK, загрузите и установите Android Development Kit, Откройте Android SDK и установите необходимые компоненты. Затем откройте Eclipse.

Шаг 1. Сначала мы создадим проект.

Перейти в главное меню Файл -> новый -> Проект приложений для Android, Назовите свой проект (мы назвали наше приложение «Сканер»). Скопируйте приведенные ниже настройки и нажмите 3 раз до создания страницы активности. Выберите «Пустое действие» и нажмите «Далее», затем «Готово». По умолчанию папка появится в левой части экрана. Если нет, нажмите кнопку максимизации, чтобы открыть экран проекта в Eclipse.

Пересечение штрих-кода

Шаг 2. Исправить ошибки темы (если у вас их нет, перейдите к шагу 3)

Если у вас есть ошибки в папках с вашими значениями, это может быть проблема Eclipse. Откройте все страницы style.xml и удалите все теги стиля и его содержимое. Также перейдите в свой AndroidManifest.xml и удалите андроид: theme = "@ style / AppTheme" в приложении.

Шаг 3. Далее следует импортировать библиотеку сканера.

Если вы еще этого не сделали, загрузите ZIP-файл CaptureActivty выше. Идти к Файл -> Импорт -> Импортировать существующий код Android в рабочую область -> и открыть просмотр и найдите исходный код Zxing, который вы загрузили. Проверьте только первый проект, называемый CaptureActivity. Путь не должен содержать build / in. Нажмите фишку. Щелкните правой кнопкой мыши / CaptureActivity / Папка на вкладке «Проводник пакетов» и нажмите недвижимости -> Android и убедитесь, что установлен флажок «Является ли библиотека». Нажмите ОК.

Шаг 4. Теперь мы должны подключить наше приложение к библиотеке сканера.

Щелкните правой кнопкой мыши папку приложения Android и нажмите недвижимости -> Android, Нажмите кнопку «Добавить» и нажмите «CaptureActivity». Убедитесь, что зеленая галочка появляется после щелчка на экране Android с помощью проекта Scanner. Нажмите ОК.

Шаг 5. Теперь мы можем приступить к внедрению сканера в наше приложение. Начните с файла mainActivity.java.

В папке приложения перейдите к / SRC / и откройте mainActivity.java файл. Ниже приведен код. Скопируйте и вставьте то, что у вас нет. Код, который вам нужно добавить, будет красным. Если вы получаете ошибки, вам нужно будет импортировать определенные классы. вы можете просто нажать ctrl + shift + O, и все необходимые импорты будут импортированы.



пакет com.example.scannerapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; импортировать android.view.View; import android.widget.Toast; public class MainActivity расширяет действие {@Override protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } @Override public boolean onCreateOptionsMenu (меню меню) {// Надуть меню; это добавляет элементы в панель действий, если она присутствует. getMenuInflater (). надуть (R.menu.main, menu); return true; } p public void openScanner (View view) {Intent intent = new Intent ("com.example.scannerapp.SCAN"); startActivityForResult (намерение, 0000); } public void onActivityResult (int requestCode, int resultCode, намерение намерения) {if (requestCode == 0000) {if (resultCode == RESULT_OK) {Содержимое строки = intent.getStringExtra ("SCAN_RESULT"); Toast.makeText (это, содержание, 0) .Show (); } else if (resultCode == RESULT_CANCELED) {// Отменить отмену}}} } 

Здесь есть две ключевые функции:

  1. Метод openScanner запускается при нажатии кнопки и впоследствии откроет сканер.
  2. Метод onActivityResult возвращает строку прочитанного штрих-кода. Отсюда вы можете открыть новое намерение и передать переменные, если вы хотите отобразить другой экран после сканирования.

Шаг 6. Теперь мы изменим макет в файле activity_main.xml.

Теперь в вашем /приложение/ папку, перейдите к res folder -> layout -> файл activity_main.xml, Он должен выглядеть следующим образом. Добавьте следующий красный код:


<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingBottom = "@ dimen / activity_vertical_margin" android: paddingLeft = "@ dimen / activity_horizontal_margin" android: paddingRight = "@ dimen / activity_horizontal_margin" android: paddingTop = "@ dimen / activity_vertical_margin" tools: context = ". MainActivity "> < button android: id =" @ + id / button0000 "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: layout_below =" @ + id / textView0000 "android: layout_centerHorizontal =" true "android: layout_marginTop = "1dp" android: text = "Scan" android: onClick = "openScanner" /> </ RelativeLayout>

Это добавляет кнопку, и при нажатии запускается метод openScanner из mainActivity.java файл. Вам также может понадобиться выбрать тему. Я выбрал Theme.holo.

Шаг 7. Последняя модификация - редактировать файл androidManifest.xml.

К AndroidManifest.xml файл в каталоге проекта. Код должен выглядеть следующим образом и снова копировать красный код



<? xml version = "1.0" encoding = "utf-8"?> <manifest xmlns: android = "http://schemas.android.com/apk/res/android" package = "com.example.scannerapp" android : versionCode = "1" android: versionName = "1.0"> <uses-sdk android: minSdkVersion = "8" android: targetSdkVersion = "21" /> <! - РАЗРЕШЕНИЯ, НЕОБХОДИМЫЕ ZXING -> <use-permission android : name = "android.permission.CAMERA" /> <uses-permission android: name = "android.permission.INTERNET" /> <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> <! - ОСОБЕННОСТИ, НЕОБХОДИМЫЕ ZXING -> <use-feature android: name = "android.hardware.camera" android: required = "true" /> <uses-feature android: name = "android.hardware.touchscreen" android: required = "false" /> <uses-feature android: name = "android.hardware.telephony" android: required = "false" /> <application android: allowBackup = "true" android: icon = "@ drawable / ic_launcher" android: label = "@ string / app_name" android: theme = "@ style / AppTheme"> <активность android: name = "com.example.scannerapp.Ma inActivity "android: label =" @ string / app_name "> <target-filter> <action android: name =" android.intent.action.MAIN "/> <category android: name =" android.intent.category.LAUNCHER " /> </ intent-filter> </ activity> <активность android: name = "com.telaeris.datalockrScanner.android.CaptureActivity" android: screenOrientation = "портрет" android: configChanges = "orientation | keyboardHidden" android: theme = " @android: style / Theme.NoTitleBar.Fullscreen "android: windowSoftInputMode =" stateAlwaysHidden "> <aim-filter> <action android: name =" android.intent.category.MAIN "/> <category android: name =" android. int.category.LAUNCHER "/> </ intent-filter> <фильтр-замысел> <action android: name =" com.example.scannerapp.SCAN "/> <category android: name =" android.intent.category.DEFAULT "/> </ intent-filter> </ activity> </ application> </ manifest>

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

Шаг 8. Все сделано!

Теперь вы сможете скомпилировать и запустить приложение на устройстве. Если есть ошибки компилятора, вы можете очистить проект и / или перезапустить eclipse.


Спасибо тебе
Этот блог должен большое спасибо многим людям:

  • Альберто Ландаверде, который интернировал с Telaeris летом 2012, который модифицировал библиотеку Zxing и построил первую упрощенную библиотеку
  • Келли Лим, нынешний стажер Telaeris, который взял эту библиотеку и вышел за ее пределы, чтобы построить DataLockr Приложение для Android. Келли также написал содержание этого блога.
  • Джейк Фам, нынешний стажер Telaeris, который прошел через учебник здесь, чтобы убедиться, что все работает так, как рекламируется.

Оставайтесь с нами на следующей странице, где мы обсудим, как сделать сканирование библиотеки ZXing в портретном и ландшафтном режимах. И если у вас есть время, взгляните на продукт всех своих усилий - DataLockr.

DataLockrLogo
Быть увиденным. Сканировать. Будьте разделены.

Оставить комментарий

*

Обновления блога

Рассылки


поговорить с представителем

Свяжитесь с нами

Телефон: 858-627-9700
Факс: 858-627-9702
-------------------------------
9123 Chesapeake Dr.
Сан - Диего, Калифорния 92123
-------------------------------
sales@telaeris.com