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