تبلیغات

آموزش ساخت بارکد خوان در اندروید با کتابخانه ZXing

نوشته شده توسط هادی اکبرزاده

آموزش ساخت بارکد خوان در اندروید با کتابخانه ZXing


ZXing، یک کتابخانه‌ی باکدخوان (barcode scanning) برای جاوا و اندروید می‌باشد که می‌تواند بارکدهای نوع 1D/2D را پردازش کند.

فرمت‌های پشتیبانی این کتابخانه، به شرح زیر می‌باشد:

1D product 1D industrial 2D
UPC-A Code 39 QR Code
UPC-E Code 93 Data Matrix
EAN-8 Code 128 Aztec (beta)
EAN-13 Codabar PDF 417 (beta)
ITF MaxiCode
RSS-14
RSS-Expanded
در حال حاظر، نسخه‌ی تاریگت اندروید این کتابخانه برابر 22 یا اندروید 5.1 می‌باشد.

راه اندازی ZXing

فایل Gradle خود را به صورت زیر تکمیل کنید:

توجه داشته باشید که ورژن appcompat بایستی بالای 23 به بالا باشد.
همچنین ورژن buoldTool نیز باید بالای 27.0.3 باشد؛ در غیر اینصورت ممکن است خطای کامپایل رخ دهد.


ویژگی hardwareAccelerated بایستی به تگ application موجود در فایل AndroidManifest.xml و به صورت زیر اضافه شود:

توجه داشته باشید که دسترسی‌های مورد نیاز در خود zxing تنظیم شده‌اند و ممکن است در بین آن‌ها، دسترسی‌های خطرناک اندروید مارشمالو به بالا نیز قرار داشته باشند که بایستی موقع اجرای برنامه از کاربر تقاضا شود: (از جمله دسترسی به دوربین)

 

روش استفاده

فرض کنید در  یک اکتیویتی قرار داریم؛ با استفاده از دستور زیر می‌توان بارکدخوان را اجرا کرد:

حالا که با دستور فوق، دوربین اجرا شده و می‌توان آن را روی یک بارکد قرار داد، نتیجه‌ی آن را بایستی در رویداد onActivityResult مدیریت کنیم:

استفاده در یک فرگمنت

اگر در یک فرگمنت قرار دارید، می‌توانید با دستور زیر، بارکدخوان را اجرا کنید:

نتیجه را نیز می‌توانیم به صورت قبل و از طریق رویداد onActivityResult فرگمنت به دست آوریم.

اگر از Support Library استفاده می‌کنید، به جای متند forFragment، از متد forSupportFragment استفاده کنید.

متدهای دیگر IntentIntegrator

می‌توانیم تنظیمات دلخواهی را به بارکدخوان اعمال کنیم:

برای مثال در اینجا با استفاده از متد setCameraId، می‌توانیم مشخص کنیم که با دوربین جلو یا عقب و … نمایش داده شود.

تغییر Orientation اکتیویتی بارکدخوان

ابتدا اکتیویتی زیر را به AndroidManifest.xml خود اضافه کنید:

حالا در هنگام اجرای بارکدخوان، از متد setOrientationLocked استفاده کنید:


موارد اصلی این کتابخانه ذکر شدند و ممکن است در آینده به موارد پیشرفته‌تر این کتابخانه نیز اشاره کنیم.
تبلیغات
0
کانال تلگرام فول کده

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

دانشجوی ارشد شبیه ساز هوشمند و مدیر فول کده

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه