تیک۴

اسکن QR کد با استفاده از Google Mobile Vision

اسکن QR کد یکی از مسایلی است که این روزا استفاده زیادی می شود.

استفاده امکانات زیادی از این تکنولوژی باعث شده تا خواندن و استفاده از QR کد به امری اجتناب ناپذیر تبذیل شود.

در Android شما می توانید با استفاده از Google Vision Library اطلاعات ذخیره شده در بارکد ها را استخراج کنید.

در این مقاله قصد داریم تا نحوه اسکن QR را به شما نشان دهیم

۱ – Google Mobile Vision API

اسکن QR

ابزاری که به شما کمک می کند اشیا در تصاویر و ویدئو ها را پیدا کنید.

امکانات نظیر تشخیص چهره، تشخیص متن و بار کد اسکنر در اختیار شما قرار می دهد. از تمامی این امکانات می توانید بصورت جداگانه یا ترکیبی استفاده کنید.

ما می توانیم بسیاری از برنامه های اسکن بارکد مورد استفاده در سوپر مارکت ها، تئاتر ها و هتل ها را ببینیم که بارکد را اسکن می کند و اطلاعات مورد نظر کاربر را فراهم می کند.

در این آموزش سعی خواهیم کرد طریقه استفاده از بارکد اسکنر را نشان دهیم.

برای این کار ابتدا کتابخانه زیر را در بخش gradle خود اضافه کنید.

compile 'com.google.android.gms:play-services-vision:11.0.2'

۲ – کتابخانه بارکد اسکنر

گوگل یک آموزش ساده برای آزمایش بارکد اسکن کتابخانه با یک تصویر bitmap ساده ارائه داد.

اما وقتی که آن را برای اسکن دوربین در زمان بلادرنگ برای بارکد، همه چیز را پیچیده می شود و برای پیاده سازی ما نیاز به انجام تشخیص بارکد از طریق دوربین فیلمبرداری داریم.

از یک کتابخانه ساده اسکنر بارکد را با استفاده از نمونه برداری از گوگل طراحی کرده ایم.

در این کتابخانه تعداد کمی از اشکالات برطرف شده و ویژگی های دیگر مانند callbacks برای زمانی که بارکد اسکن شده است و یک نشانگر خط روی صفحه همپوشانی است اضافه شده که می تواند در برنامه های شما استفاده شود.

۳ – چگونه از این کتابخانه برای اسکن QR استفاده کنیم

ابتدا با کد زیر کتابخانه های مورد نیاز ره به برنامه را اضافه کنید

dependencies {
    // barcode reader library
    implementation 'info.androidhive:barcode-reader:1.1.5'
 
    // google vision library
    implementation 'com.google.android.gms:play-services-vision:11.0.2'
}

حال fragment بارکد اسکنر را به اکتیویتی یا فرگمنت خود اضافه کنید

<fragment
        android:id="@+id/barcode_scanner"
        android:name="info.androidhive.barcode.BarcodeReader"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:auto_focus="true"
        app:use_flash="false" />

حال اکتیویتی خود را با  BarcodeReader.BarcodeReaderListener  پیاده سازی ( منظور همان implement کردن است) کنید

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.SparseArray;
import com.google.android.gms.vision.barcode.Barcode;
import java.util.List;
 
import info.androidhive.barcode.BarcodeReader;
 
public class MainActivity extends AppCompatActivity implements BarcodeReader.BarcodeReaderListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scan);
    }
 
    @Override
    public void onScanned(Barcode barcode) {
        // single barcode scanned
    }
 
    @Override
    public void onScannedMultiple(List<Barcode> list) {
        // multiple barcodes scanned
    }
 
    @Override
    public void onBitmapScanned(SparseArray<Barcode> sparseArray) {
        // barcode scanned from bitmap image
    }
 
    @Override
    public void onScanError(String s) {
        // scan error
    }
 
    @Override
    public void onCameraPermissionDenied() {
        // camera permission denied
    }
}

حال برنامه را اجرا و شروع به اسکن بارکد کنید و نتیجه به ()onScanned() or onScannedMultiple  برگردانده می شود.

۳٫۱ – اضافه کردن Overlay Indicator Line برای اسکن QR

ما می توانیم همه برنامه های اسکن شده را به طور کلی اضافه می کنیم یک خط نشانگر درOverlay Indicator Line برای نشان دادن پیشرفت اسکن در رفتن است.

برای رسیدن به این هدف، یک کلاس قابل استفاده مجدد در همان کتابخانه اضافه شده است که می تواند به صفحه دوربین اضافه شود.

برای افزودن خط اسکن متحرک، info.androidhive.barcode.ScannerOverlay را در همان اکتیویتی با فرگمنت دوربین اضافه کنید.

<info.androidhive.barcode.ScannerOverlay
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#44000000"
    app:line_color="#7323DC"
    app:line_speed="6"
    app:line_width="4"
    app:square_height="200"
    app:square_width="200"/>

این کتابخانه همچنین دارای چندین ویژگی مفید دیگر مانند فلاش خودکار، صدای بوق و غیره است.

اطلاعات دقیق در مورد کتابخانه را می توان در صفحه Github پیدا کرد.

برای دیدن بقیه مقالات آموزشی برنامه نویسی اندروید اینجا کلیک کنید.

همچنین برای دیدن همه مقالات اینجا کلیک کنید

 

خروج از نسخه موبایل