لدينا بلوق

معبر الباركود

Barcoding على الروبوت

zxing_zebra_logo
معظم الوقت الذي ينشر فيه العاملون في Telaeris هنا ، هو مثال واقعي متعلق بمنتجاتنا. وهذا يسمح لنا بمناقشة مجال واسع من الموضوعات ، بما في ذلك الباركود واستخدام RFID أو الأمن أو تنفيذ نظام السلامة أو نصائح حول إدارة الأعمال. ولكن في قلب ما نفعله هو الخروج حلول أنيقة لمشاكل صعبة. تمثل إدخالات المدونات القليلة التالية أمثلة على كيفية قيام متدربين اثنين في Telaeris بإنشاء منتج محمول جديد مجاني لتتبع الباركودات وعلامات RFID من جهاز Android أو iPhone المحمول الخاص بك. يسمى النظام DataLockr وقد تم إطلاقه للتو - أوصي بشدة بالاطلاع على التطبيق والنظام. ما يصفونه في هذه المقالة هي أولى خطواتهم في كيفية إنشاء تطبيق بسيط لقراءة الشفرة باستخدام مكتبة Zxing مفتوحة المصدر لنظام Android.

هذه المدونة مخصصة للمتسللين الذين يرغبون في البرمجة. استمتع!

تنفيذ مكتبة Zxing مبسطة
بينما كنا نمر عملية تعلم كيفية استخدام Zxing مكتبة ، سرعان ما اكتشفت أنه كان مزعجا بعض الشيء في محاولة لفهم ما يجري في هذه المكتبة الضخمة. كانت هناك العديد من البرامج التعليمية هناك ، ولكن الكثير من الخطوات كانت إما تشوش علينا أو عفا عليها الزمن. كانت هناك أشياء مفقودة من الكود ، أو أشياء مختلفة بناءً على إصدار المكتبة أو شيء لم يتم توضيحه بشكل كامل. أردنا تقديم برنامج تعليمي من شأنه أن يساعد أي شخص يحاول تنفيذ مكتبة Zxing بسيطة للبحث في الحصول على بداية سريعة لاستخدامها في التطبيق الخاص بهم.

يستخدم هذا البرنامج التعليمي نسخة ممزقة من مكتبة Zxing لتعليم أساسيات كيفية تطبيق المكتبة في تطبيق مستقل ونشر تطبيق Android الأصلي الخاص بك. نحن نستخدم مجموعة تطوير Android التي تدير SDK 19 ، مكتبة Android 4.4. تم تعديل المكتبة ليكون الماسح الضوئي الباركود وضع عمودي بدلا من الاتجاه الأفقي الافتراضي.

يمكنك تنزيل نسخة مبسطة من مكتبة Zxing لاستخدامها واختبارها هنا: CaptureActivity. هذا يختلف عن مكتبة ZXing التي تم إصدارها ، ولكن من الجيد أن تبدأ.

إذا لم يكن لديك Eclipse مع Android SDK ، فقم بتنزيل وتثبيت مجموعة تطوير Android. افتح Android SDK وقم بتثبيت المكونات المطلوبة. بعد ذلك ، افتح Eclipse.

الخطوة 1. أولا سنقوم بإنشاء المشروع.

اذهب إلى القائمة العلوية ملف -> جديد -> مشروع تطبيقات Android. اسم مشروعك (أطلقنا عليه اسم "تطبيق الماسح الضوئي"). انسخ الإعدادات أدناه وانقر على 3 من الأوقات التالية للوصول إلى صفحة إنشاء النشاط. اختر "نشاط فارغ" ثم انقر فوق "التالي" ثم "إنهاء". سيظهر المجلد على الجانب الأيسر من الشاشة بشكل افتراضي. إذا لم يكن كذلك ، انقر فوق زر التكبير لفتح شاشة المشروع في Eclipse.

معبر الباركود

الخطوة 2. إصلاح أخطاء السمة (إذا لم يكن لديك أي منها ، فانتقل إلى الخطوة 3)

إذا كنت تواجه أخطاء في مجلدات القيم الخاصة بك ، فقد تكون هذه مشكلة Eclipse. افتح كل صفحات style.xml وحذف كل علامات الأنماط ومحتوياتها. انتقل أيضًا إلى AndroidManifest.xml واحذف android: theme = ”@ style / AppTheme” تحت التطبيق.

الخطوة 3. التالي هو استيراد مكتبة الماسحة الضوئية.

إذا لم تقم بذلك بعد ، فالرجاء تنزيل الرمز البريدي CaptureActivty أعلاه. اذهب إلى ملف -> استيراد -> استيراد رمز Android الموجود إلى مساحة العمل -> وفتح الاستعراض وابحث عن كود مصدر Zxing الذي قمت بتنزيله. تحقق فقط من المشروع الأول يسمى CaptureActivity. يجب ألا يحتوي المسار على بنية / في ذلك. انقر فوق الانتهاء. انقر بزر الماوس الأيمن / CaptureActivity / مجلد في علامة التبويب مستكشف حزمة وانقر فوق خصائص -> الروبوت وتأكد من تحديد خانة الاختيار "مكتبة". انقر فوق موافق.

الخطوة 4. يجب علينا الآن ربط التطبيق لدينا مع مكتبة الماسح الضوئي.

انقر بزر الماوس الأيمن على مجلد تطبيق Android ، ثم انقر على خصائص -> الروبوت. انقر على زر الإضافة ، وانقر على CaptureActivity. تأكد من ظهور علامة اختيار خضراء بعد النقر فوق "موافق" على شاشة Android باستخدام برنامج Scanner. انقر فوق موافق.

الخطوة 5. يمكننا الآن بدء تنفيذ الماسح الضوئي في طلبنا. ابدأ بالملف mainActivity.java.

في مجلد تطبيقك ، انتقل إلى / SRC / المجلد وفتح الخاص بك mainActivity.java ملف. فيما يلي التعليمات البرمجية المطلوبة. نسخ ولصق ما لم يكن لديك. سيكون الرمز الذي ستحتاج إلى إضافته بنص أحمر. إذا كنت تحصل على أخطاء ، فستحتاج إلى استيراد فئات معينة. يمكنك فقط الضغط على ctrl + shift + O ، وسيتم استيراد كل الواردات اللازمة.



package com.example.scannerapp؛ استيراد android.app.Activity ، استيراد android.content.Intent ؛ استيراد android.os.Bundle. استيراد android.view.Menu ؛ استيراد android.view.View ؛ استيراد android.widget.Toast. الطبقة العامة MainActivity تمدد النشاط {Override void on onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState)؛ setContentView (R.layout.activity_main)؛ }Override boolean public onCreateOptionsMenu (قائمة القائمة) {// تضخيم القائمة ؛ هذا يضيف العناصر إلى شريط الإجراءات إذا كان موجودًا. تضخم (R.menu.main ، القائمة) ؛ عاد صحيح } p ublic void openScanner (عرض طريقة العرض) {Intent intent = new Intent ("com.example.scannerapp.SCAN")؛ startActivityForResult (intent، 0000)؛ } void public onActivityResult (int requestCode، int resultCode، intent intent) {if (requestCode == 0000) {if (resultCode == RESULT_OK) {String contents = intent.getStringExtra ("SCAN_RESULT")؛ Toast.makeText (هذا، محتويات، 0). تظهر ()؛ } آخر إذا كان (resultCode == RESULT_CANCELED) {// المؤشر إلغاء}}} } 

هناك وظيفتان رئيسيتان هنا:

  1. يتم تشغيل الأسلوب openScanner عند الضغط على زر ، ثم يفتح الماسح الضوئي لاحقًا.
  2. إرجاع الأسلوب onActivityResult سلسلة قراءة الباركود. من هنا ، يمكنك فتح نية جديدة وتمرير متغيرات إذا كنت ترغب في عرض شاشة أخرى بعد الفحص.

الخطوة 6.We سيتم الآن تغيير التخطيط في ملف activity_main.xml.

الآن في حياتك / التطبيق / مجلد، انتقل إلى مجلد الدقة -> تخطيط -> ملف 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": 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 -> <uses-permission android : name = "android.permission.CAMERA" /> <uses-permission android: name = "android.permission.INTERNET" /> <uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> <! - الميزات المطلوبة من قبل ZXING -> <uses-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"> <activity android: name = "com.example.scannerapp.Ma inActivity "android: label =" @ string / app_name "> <intent-filter> <action android: name =" android.intent.action.MAIN "/> <category android: name =" android.intent.category.LAUNCHER " /> </ intent-filter> </ activity> <activity android: name = "com.telaeris.datalockrScanner.android.CaptureActivity" android: screenOrientation = "portrait" android: configChanges = "orientation | keyboardHidden" android: theme = " android: style / Theme.NoTitleBar.Fullscreen "android: windowSoftInputMode =" stateAlwaysHidden "> <intent-filter> <action android: name =" android.intent.category.MAIN "/> <category android: name =" android. intent.category.LAUNCHER "/> </ intent-filter> <intent-filter> <action android: name =" com.example.scannerapp.SCAN "/> <category android: name =" android.intent.category.DEFAULT "/> </ intent-filter> </ activity> </ application> </ manifest>

نحن نضيف أذونات يتطلبها الروبوت لاستخدام الكاميرا وتتضمن أنشطة للتطبيق لمعرفة الملفات التي يجب فتحها عندما نريد فتح الماسح الضوئي على الجهاز.

الخطوة 8. كله تمام!

يجب أن تكون الآن قادرًا على ترجمة التطبيق وتشغيله على جهاز. إذا كانت هناك أية أخطاء في برنامج التحويل البرمجي ، فقد ترغب في تنظيف المشروع و / أو إعادة تشغيل الكسوف.


شكرا
هذا بلوق مدين كبير شكرا لك على العديد من الناس:

  • ألبرتو لاندافيردي ، الذي تدرب مع Telaeris الصيف من 2012 ، الذي قام بتعديل مكتبة Zxing وبنى المكتبة المبسطة الأولية
  • كيلي ليم ، المتدرب الحالي Telaeris ، الذي أخذ هذه المكتبة وانتقل إلى أبعد من ذلك لبناء DataLockr الروبوت التطبيق. كما كتب كيلي محتوى هذه المدونة.
  • جيك فام ، المتدرب الحالي Telaeris ، الذي ذهب من خلال البرنامج التعليمي هنا للتأكد من أن كل شيء يعمل كما هو معلن.

ترقبوا الدفعة التالية حيث نناقش كيفية عمل مسح ZXing للمكتبة في كل من الوضعين الرأسي والأفقي. وإذا كان لديك وقت ، فألق نظرة على منتج كل جهدهم - DataLockr.

DataLockrLogo
يرى. كن مسحها ضوئيا. أن تكون مشتركة.

اترك تعليق

*

تحديثات مدونة

النشرات الإخبارية


التحدث إلى ممثل

تواصل معنا

الهاتف: 858-627-9700
الفاكس: 858-627-9702
-------------------------------
9123 Chesapeake Dr.
سان دييغو، CA 92123
-------------------------------
sales@telaeris.com