ในบทความโปรแกรมนี้เราจะอธิบายถึงการนำ 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

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 ได้แล้ว
ทางเราหวังว่าบทความนี้จะเป็นประโยชน์ต่อคุณไม่มากก็น้อย