วิธีทำ ScanBarcode, QR Code ด้วย ZXingScanner (Android Studio)



วิธีทำ ScanBarcode, QR Code ด้วย ZXingScanner (Android Studio)

ScanBarcode, QR Code ด้วย ZXingScanner (Android Studio)

ในบทความโปรแกรมนี้เราจะอธิบายถึงการนำ Library ZXingScanner มาใช้งานด้าน ScanBarcode หรือ QR Code  ซึงมีอยู่ 2 วิธีในการเรียกใช้ Library ZXingScanner คือ


วิธีที่1 เรียกแบบ com.google.zxing.client.android.SCAN แต่เราจำเป็นต้องติดตั้ง App zxingscanner ก่อนถึงจะเรียกใช้งานได้

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);

 

วิธีที่2 เรียกโดยใช้ library ZXingScanner จากโปรเจ็คของเราเอง ซึ่งเราจะขอยกตัวอย่างวิธีนี้ตามขั้นตอนด้านล่าง


STEP 1 : เตรียมโปรเจ็ค ใน Android Studio

STEP 2 : Updating build.gradle(Module:app) file ใน dependencies{}  ระดับ APP
Library ZXingScanner

 

STEP 4 : เปิดสิทธิ์ให้อุปกรณ์สามารถเปิดกล้องได้


 

STEP 5 : สร้าง ScanActivity.xml



 

STEP 6 : สร้างไฟล์ ScanActivity.java

public class ScanActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
    private ZXingScannerView mScannerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mScannerView = new ZXingScannerView(this);   // Programmatically initialize the scanner view
        setContentView(mScannerView);
    }
    @Override
    public void onResume() {
        super.onResume();
        mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
        mScannerView.startCamera();          // Start camera on resume
    }

    @Override
    public void onPause() {
        super.onPause();
        mScannerView.stopCamera();           // Stop camera on pause
    }

    @Override
    public void handleResult(Result rawResult) {
        // Do something with the result here
        // Log.v("tag", rawResult.getText()); // Prints scan results
        // Log.v("tag", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)
        Intent result = new Intent();
        result.putExtra("SCAN_RESULT", rawResult.getText());
        result.putExtra("SCAN_RESULT_FORMAT", rawResult.getBarcodeFormat().toString());
        setResult(Activity.RESULT_OK, result);
        finish();
        onBackPressed();
    }
}

 

STEP 7 : การเรียกใช้งาน สมมุติเราเรียกใช้งานที่หน้า Main_activity.java

   Intent intents = new Intent(Main_activity.this,ScanActivity.class);
   startActivityForResult(intents, 0);
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {
                barcode = intent.getStringExtra("SCAN_RESULT");
                Toast.makeText(this,barcode,Toast.LENGTH_LONG).show();
            }
        }
    }

เพียงเท่านี้เราก็สามารถใช้งาน Library ZXingScanner ในการ Scanbarcode หรือ Qrcode ได้แล้ว
ทางเราหวังว่าบทความนี้จะเป็นประโยชน์ต่อคุณไม่มากก็น้อย

 

 

บทความที่ให้คุณเข้าใจการเขียนโค้ด เขียนโปรแกรม เกมหลายๆอย่างมากขึ้น