آموزش خواندن بارکد
سلام باز هم با یک آموزش کوتاه و کاربردی در خدمت شما هستم در این آموزش می خواهیم یاد بگیریم که چجوری انواع بارکد ها را در اندروید بخونیم. این کتابخانه تقریبا همه نوع بارکد چه تک بعدی و دو بعدی را ساپورت می کنه.
در این آموزش می خواین از کتابخانه ZXing اندروید استفاده کنیم . استفاده از این کتابخانه خیلی ساده هست و فقط کافیه کارهایی رو که در ادامه میگم مرحله به مرحله انجام بدین
اول با استفاده از کد زیر و قرار دادن اون در قسمت ٖdependencies داخل فایل build.gradle این کتابخانه رو داخل پروژه خودتون لود کنید
implementation('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false } implementation 'com.google.zxing:core:3.3.3'
بعد ویژگی hardwareAccelerated را داخل فایل AndroidManifest.xml و به تگ application اضافه کنید
<application android:hardwareAccelerated="true" ... >
برای استفاده از این کتابخانه فقط کافیه از کد زیر در یک اکتیویتی استفاده کنید .
IntentIntegrator integrator = new IntentIntegrator(MainActivity.this); integrator.setDesiredBarcodeFormats(IntentIntegrator.CODE_128); integrator.setPrompt("Scan a barcode"); integrator.setCameraId(0); integrator.setBeepEnabled(false); integrator.setBarcodeImageEnabled(true); integrator.setOrientationLocked(false); integrator.initiateScan();
توجه داشته باشید من در این قسمت تعدادی از خاصیت های اسکنر رو مقدار دادم که شما می تونید این کار رو انجام ندین و به صورت پیش فرض استفاده کنید . در این خاصیت ها با setDesiredBarcodeFormats می توانید نوع بارکد را مشخص کنید.
کد زیر رو هم در قسمتی از اکتیویتی قراد بدهید تا بعد از اسکن کد برنامه بارکد اسکن شده را به صورت توست به شما نشان بدهد
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if(result != null) { if(result.getContents() == null) { Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show(); } } else { super.onActivityResult(requestCode, resultCode, data); } }
نکته ای که باید در ادامه بگم اینه که این کتابخاه نیاز نداره که در فایل AndroidManifest.xml دسترسی خاصی بهش بدیم و خودش مواردی که نیاز داره مثل دوریبن رو از کاربر دسترسی می گیره
سلام روز بخیر خیلی مطلب مفیدی بود