بارکد اسکنر متریال در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش بارکد اسکنر متریال در برنامه نویسی اندروید از بارکد اسکنر , بارکد خوان , Barcode Scanner به منظور خواندن BarCode بروی کالا ها یا بارکدهای خاصی می توان استفاده کرد در ادامه با ما همراه باشید تا نحوه پیاده سازی این بارکد اسکنر متریال دیزاین را در اندروید یاد گیرید.
در ادامه پیش نمایشی از این بارکد خوان (Barcode Scanner) را خواهید دید.
از ویژگی های این Barcode Scanner می توان به موارد زیر اشاره کرد
- سادگی در پیاده سازی
- استفاده از Google Mobile Vision API برای تشخیص بارکد
- تشخیص اتوماتیک بارکد و parse (تجزیه) داده ها از داخل آن
- بارکدهایی که امکان تشخیص دادن آنها موجوداست : SuppEAN-13, EAN-8, UPC-A, UPC-E, Code-39, Code-93, Code-128, ITF, Codabar , Data Matrix, PDF-417, Aztec
این بارکد اسکنر به صورت کتاب خانه است پس باید آن را به پروژه خود اضافه کنید برای اینکار ادامه مطلب را دنبال کنید.
وارد فایل Build.gradle از نوع Module شده سپس در بخش dependencies خط زیر را قرار داده و پروژه را sync کنید.
1 | compile 'com.edwardvanraak:MaterialBarcodeScanner:0.0.6-ALPHA' |
باید از قند شکن به منظور sync پروژه استفاده کنید.
دسترسی های زیر را به AndroidManifest.xml اضافه کنید.
1 2 | <uses-feature android:name="android.hardware.camera" /> <uses-permission android:name="android.permission.CAMERA" /> |
شما باید دسترسی های بالا را به صورت Run time Permission دریافت کنید قبلا آموزشش در سایت قرار گرفته است از لینک زیر استفاده کنید.
بررسی دسترسی هنگام اجرا (Run Time Permission)
بعد از قرار دادن دسترسی هنگام اجرا یک متد همانند زیر ایجاد کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private void startScan() { /** * Build a new MaterialBarcodeScanner */ final MaterialBarcodeScanner materialBarcodeScanner = new MaterialBarcodeScannerBuilder() .withActivity(MainActivity.this) .withEnableAutoFocus(true) .withBleepEnabled(true) .withBackfacingCamera() .withText("Scanning...") .withResultListener(new MaterialBarcodeScanner.OnResultListener() { @Override public void onResult(Barcode barcode) { barcodeResult = barcode; result.setText(barcode.rawValue); } }) .build(); materialBarcodeScanner.startScan(); } |
برای اینکه یک کادر در وسط صفحه نمایش دهید این بخش را قرار دهید.
1 | .withCenterTracker() |
برای اینکه عکس سفارشی خودتان را جایگزین آن کنید از کد زیر استفاده کنید.
1 | .withCenterTracker(R.drawable.your_tracker_image, R.drawable.your_detected_state_tracker_image): |
باید دوتا عکس قرار بدید یکی برای زمانی که در حال تشخیص است و دیگری زمانی که تشخیص داده شد.
اگر می خواهید فقط یک نوع بارکد خاص را تشخیص دهد از کد زیر استفاده کنید.
1 | .withBarcodeFormats(Barcode.AZTEC | Barcode.EAN_13 | Barcode.CODE_93) |
این آموزش هم به پایان رسید.
موفق و موید باشید.
سلام
توی بعضی گوشی ها با این که بارکد خوان باز میشه و دوربین فعال هست ، نمیتواند بارکد را تشخیص دهد
سلام و درود
در اندروید 5 به بالا شما باید runtimePermssion مربوط به استفاده از دوربین را قرار دهید.
موفق و پیروز باشید.
سلام. مشکل شما با راه حل پیشنهادی حل شد؟! ممنون
سلام. ببینید روی دو تا گوشی LG با اندروید 4 و 6 ، از این بارکد خوان استفاده کردم ولی با اینکه مجوز دوربین را داده و بارکد خوان فعاله و میره روی دوربین و حتی فوکوس می کنه اما بارکد را تشخیص نمیده. ولی مثلا روی گوشی samsung جواب داد. مشکل از چیه؟ کتابخانه ش کلا باگ داره یا مساله دیگری است؟