وبلاگ ما

گذر بارکد

بارکد در آندروید

zxing_zebra_logo
اغلب وقت هایی که کارمندان Telaeris در اینجا منتشر می کنند، برای نمونه های واقعی زندگی مرتبط با محصولات ما است. این به ما اجازه می دهد تا بحث در مورد یک موضوع وسیع، از جمله بارکد و استفاده از RFID، پیاده سازی امنیت و ایمنی سیستم و یا نکات در مورد راه اندازی یک کسب و کار. اما در قلب آنچه که ما انجام می دهیم این است که با آن روبرو شویم راه حل های شسته و رفته برای مشکلات دشوار است. چند نوشته بعدی در وبلاگ نمونه هایی از این است که چگونه دو کارآموز در Telaeris شروع به ایجاد یک محصول جدید جدید تلفن همراه برای ردیابی بارکد و برچسب های RFID از دستگاه اندرویدی یا iPhone خود کردند. سیستم نامیده می شود DataLockr و به تازگی راه اندازی شده است - من به شدت توصیه می کنم از برنامه و سیستم را بررسی کنید. آنچه در این مقاله شرح داده شده اولین گام های خود را برای ایجاد یک برنامه خواندن بارکد ساده با استفاده از کتابخانه منبع باز Zxing برای آندروید می باشد.

این وبلاگ برای هکرهایی است که مایل به کد هستند. لذت بردن!

پیاده سازی یک کتابخانه ساده Zxing
در حالی که ما در جریان یادگیری نحوه استفاده از آن بودیم Zxing کتابخانه، ما به زودی متوجه شدیم که این تلاش کمی برای درک آنچه در این کتابخانه عظیم بود، کمی مشکل بود. در آنجا بسیاری از آموزشها وجود داشت، اما بسیاری از مراحل یا ما را گمراه کرد یا از بین رفت. چیزهایی که از کد حذف شده بود یا چیزهایی که متفاوت بود بر اساس نسخه کتابخانه بود یا چیزی کاملا مشخص نشده بود. ما می خواستیم یک آموزش ایجاد کنیم که به هر کسی که تلاش می کند یک کتابخانه اسکن ساده Zxing را اجرا کند، به سرعت شروع به استفاده از آن در برنامه خود می کند.

این آموزش از نسخه پاره شده کتابخانه Zxing برای تدریس اصول نحوه پیاده سازی کتابخانه به یک برنامه مستقل و استفاده از برنامه اصلی اندروید خود استفاده می کند. ما از کیت توسعه اندرویدی SDK 19، اندیشه 4.4 library استفاده می کنیم. کتابخانه اصلاح شده است به عنوان یک اسکنر بارکد حالت عمودی و نه به طور پیش فرض جهت افقی است.

شما می توانید نسخه ساده ما از کتابخانه Zxing را برای استفاده و آزمایش اینجا دانلود کنید: CaptureActivity. این متفاوت از کتابخانه ZXing منتشر شده است، اما خوب است که شما شروع به کار کنید.

اگر Eclipse را با آندروید SDK نداشته باشید، دانلود و نصب کنید کیت توسعه اندروید. Android SDK را باز کنید و اجزای مورد نیاز را نصب کنید. بعد، Eclipse باز شود

مرحله 1 ابتدا پروژه را ایجاد خواهیم کرد.

به منوی بالا بروید فایل -> جدید -> برنامه برنامه اندروید. نام پروژه خود را (ما به نام "اسکنر برنامه" ما). تنظیمات زیر را کپی کنید و بعد 3 بعدی را تا صفحه فعالیت ایجاد کنید. فعال سازی خالی را انتخاب کنید و بعد روی Finish کلیک کنید. پوشه به طور پیش فرض در سمت چپ صفحه نمایش داده می شود. اگر نه، روی دکمه حداکثر کردن کلیک کنید تا صفحه نمایش پروژه در Eclipse باز شود.

گذر بارکد

مرحله 2 رفع اشتباهات تم (اگر هیچ کدام ندارید، به مرحله 3 بروید)

اگر خطاهایی در پوشه های ارزشمندی شما وجود دارد، ممکن است یک مسئله گرفتگی باشد. تمام صفحات style.xml را باز کنید و تمام برچسب های سبک و محتویات آن را حذف کنید. همچنین به AndroidManifest.xml خود بروید و آندروید: theme = "@ style / AppTheme" را در زیر برنامه حذف کنید.

مرحله 3 بعدا کتابخانه اسکنر را وارد کنید.

اگر هنوز رتبهدهی نشده است، لطفا Zip CaptureActivty را در بالا دانلود کنید. رفتن به فایل -> وارد کردن -> وارد کردن کد Android موجود در فضای کاری -> و باز کردن فهرست و کد منبع Zxing که دانلود کرده اید پیدا کنید. فقط اولین پروژه را به نام چک کنید CaptureActivity مسیر نباید شامل ساخت / در آن باشد. روی پایان کلیک کنید. راست کلیک بر روی / CaptureActivity / پوشه در تب بسته اکسپلورر و کلیک کنید خواص -> آندروید و اطمینان حاصل کنید که جعبه "آیا کتابخانه" چک شده است. ok را کلیک کنید

مرحله 4 ما اکنون باید برنامه خود را با کتابخانه اسکنر متصل کنیم.

راست کلیک بر روی پوشه نرم افزار آندروید خود را و سپس کلیک کنید خواص -> آندروید. بر روی دکمه افزودن کلیک کنید و روی CaptureActivity کلیک کنید. اطمینان حاصل کنید که علامت چک سبز پس از کلیک روی Ok روی صفحه نمایش Android با اسکنر پروژه ظاهر می شود. ok را کلیک کنید

گام 5. اکنون ما می توانیم اسکنر را به برنامه ما اجرا کنیم. شروع با فایل mainActivity.java.

در پوشه برنامه خود، به / src / پوشه و باز کردن mainActivity.java فایل. در زیر کد مورد نیاز است. کپی و چسباندن چیزی که شما ندارید. کد شما نیاز به اضافه کردن در متن قرمز خواهد بود. اگر اشتباه می کنید، باید کالاهای خاصی وارد کنید. شما فقط می توانید ctrl + shift + O را فشار دهید و همه واردات مورد نیاز وارد می شود.



بسته com.example.scannerapp؛ واردات android.app.Activity؛ واردات android.content.Intent؛ واردات android.os.Bundle؛ واردات android.view.Menu؛ واردات android.view.View؛ واردات android.widget.Toast؛ public class MainActivity د گسترش فعالیت {Override محافظت از درجه اعتبار ساقط متد onCreate (بسته نرم افزاری savedInstanceState) {super.onCreate (savedInstanceState)؛ setContentView (R.layout.activity_main)؛ }Override public boolean onCreateOptionsMenu (منوی منو) {// منفجر کردن؛ این موارد را اضافه می کند به نوار عمل اگر آن وجود دارد. getMenuInflater (). inflate (منوی اصلی R.menu.main)؛ بازگشت درست } p public void openScanner (نمایش view) {قصد قصد = جدید قصد ("com.example.scannerapp.SCAN")؛ startActivityForResult (قصد، 0000)؛ } public void onActivityResult (int requestCode، int resultCode، intent intention) {if (requestCode == 0000) {if (resultCode == RESUL_OK) {محتویات رشته = intent.getStringExtra ("SCAN_RESULT")؛ Toast.makeText (این، محتویات، 0) .show ()؛ } else if (resultCode == RESULT_CANCELED) {// کنترل لغو}}} } 

دو توابع کلیدی در اینجا وجود دارد:

  1. روش openScanner زمانی اجرا می شود که یک دکمه فشار داده شود و سپس اسکنر را باز می کند.
  2. روش onActivityResult رشته بارکد خوان را باز می کند. از اینجا، شما می توانید یک قصد جدید را باز کنید و در متغیرها منتقل کنید، اگر می خواهید بعد از اسکن یک صفحه دیگر نمایش داده شود.

مرحله 6.We اکنون طرح را در فایل activity_main.xml تغییر می دهد.

در حال حاضر در خود / app / پوشه، به پوشه res -> layout -> file activity_main.xml. این باید مانند موارد زیر باشد. کد قرمز زیر را اضافه کنید:


<RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" اندروید: layout_width = "match_parent" اندروید: 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 = ". وظیفه شما این است که با استفاده از این برنامه می توانید برنامه های اندرویدی خود را از حالت فشرده خارج کنید. layout_marginTop = "0000dp" 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" اندروید : versionCode = "1" android: versionName = "1.0"> <uses-sdk android: minSdkVersion = "8" اندروید: 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" اندروید: required = "true" /> <uses-feature android: name = "android.hardware.touchscreen" اندروید: مورد نیاز = "false" /> <uses-feature android: name = "android.hardware.telephony" اندروید: required = "false" /> <application android: allowBackup = "true" android: icon = "@ drawable / ic_launcher" اندروید: برچسب = "@ رشته / APP_NAME» اندروید: تم = "@ سبک / AppTheme"> <فعالیت های آندروید: نام = "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 =" اندروید. 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 همه انجام شده است!

اکنون باید بتوانید برنامه خود را در یک دستگاه کامپایل و اجرا کنید. اگر خطاهای کامپایلر وجود داشته باشد، ممکن است بخواهید پروژه را تمیز کنید و / یا دوباره تکرار کنید.


متشکرم
این وبلاگ به لطف بزرگی از بسیاری از افراد بزرگ تشکر می کند:

  • آلبرتو لاندردر، که در تابستان Xelaxer از 2012 تعطیل شد، کتابخانه Zxing را تغییر داد و کتابخانه ساده را ساده ساخت
  • کلی لیم، کارآموز تلئرز فعلی، که این کتابخانه را گرفته و از آن برای ساختن آن فراتر رفت DataLockr برنامه آندروید کلی همچنین محتوای این وبلاگ را نوشته است.
  • جیک فام، کارآموز تلئرز در حال حاضر، که در اینجا آموزش داده شد تا اطمینان حاصل کند که همه چیز به عنوان تبلیغ تبلیغ شده است.

برای اقامت بعدی که در آن ما در مورد چگونگی اسکن کتابخانه ZXing در هر دو حالت افقی و عمودی بحث خواهیم کرد. و اگر وقت داشته باشید، نگاهی به محصول تمام تلاش خود ببرید - DataLockr

DataLockrLogo
دیده می شود. اسکن شده به اشتراک گذاشته شود

ارسال نظر

*

به روز رسانی وبلاگ

خبرنامه


با نماینده صحبت کنید

تماس با ما

تلفن: 858-627-9700
فکس: 858-627-9702
-------------------------------
9123 Chesapeake دکتر
سن دیگو، CA 92123
-------------------------------
sales@telaeris.com