Promo Lebaran, Kelas Online CODEPOLITAN Cukup Bayar Setengah Harga KLAIM PROMO
Lebih terarah belajar coding melalui Kelas Online dan Interactive Coding Lihat Materi Belajar

Cara Membuat QR Code Scanner pada Android Studio

Ditulis oleh Apriliany Halimatus Sa'diyyah, dipublikasi pada 25 Aug 2017 dalam kategori Tutorial
Cara Membuat QR Code Scanner pada Android Studio - CodePolitan.com

Kode Quick Response (QR) merupakan bentuk evaluasi dari barcode yang biasanya kita lihat pada sebuah produk. Kode QR adalah barcode dua dimensi (kode matriks) yang memungkinkan konten diterjemahkan dengan kecepatan tinggi.

Tutorial kali ini saya akan menjelaskan bagaimana menerapkan ZXING library untuk memindai atau decode barcode (memecahkan kode-kode pada barcode). Tutorial ini membuat scanner dengan menggunakan kamera and decode barcode.

1. Buat Project Baru

Untuk implementasi QR Code Scanner, kita buat sebuah project Android baru, buka File -> New -> New Project:

Jangan lupa untuk menambahkan permission untuk menggunakan Camera di AndriodManifest.xml dengan menambahkan baris berikut di atas tag <applications></aplication>:

<uses-permission android:name="android.permission.CAMERA"/>

2. Tambahkan ZXING library

Tambahkan ZXING library di proyek anda untuk mengimplementasikan pemindai, dengan cara buka file build.gradle (Modul: app) dan tambahkan kode berikut pada bagian dependencies:

compile 'me.dm7.barcodescanner:zxing:1.9'

3. Inisialisasi Scanner View

Untuk memecahkan kode-kode barcode, kita perlu menerapkan pemindai. Kita inisialisasikan ZXingScannerView pada MainActivity.java.

mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);

4. Terapkan ResultHandler

Untuk mendapatkan hasil pindaian QR Code, kita akan menerapkan class ZXingScannerView.ResultHandler. Class ini akan menangani hasilnya dengan menggunakan metode handleResult(). Jadi, kita perlu menambahkan metode ini pada file MainActivity.java. Method handleResult() mendapatkan hasilnya dan menampilkannya pada alert dialog.

@Override
 public void handleResult(Result rawResult) {
        Log.v("TAG", rawResult.getText()); // Prints scan results
        Log.v("TAG", rawResult.getBarcodeFormat().toString()); 
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Scan Result");
        builder.setMessage(rawResult.getText());
        AlertDialog alert1 = builder.create();
        alert1.show();

        mScannerView.resumeCameraPreview(this);
    }

5. Tambahkan Handler untuk hasil scan

Kita tambahkan handler untuk memindai dan memulai kamera pada saat activity onResume() dan berhenti pada saat activity onPause().

 @Override
    public void onResume() {
        super.onResume();
        mScannerView.setResultHandler(this); 
        mScannerView.startCamera();         
    }
    @Override
    public void onPause() {
        super.onPause();
        mScannerView.stopCamera();           
    }

Berikut tampilan source code lengkap pada MainActivity.java:

import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import com.google.zxing.Result;

import me.dm7.barcodescanner.zxing.ZXingScannerView;

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

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mScannerView = new ZXingScannerView(this); 
        setContentView(mScannerView);
    }
    @Override
    public void onResume() {
        super.onResume();
        mScannerView.setResultHandler(this); 
        mScannerView.startCamera();          
    }

    @Override
    public void onPause() {
        super.onPause();
        mScannerView.stopCamera();         
    }

    @Override
    public void handleResult(Result rawResult) {
        Log.v("TAG", rawResult.getText()); // Prints scan results
        Log.v("TAG", rawResult.getBarcodeFormat().toString()); 
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Scan Result");
        builder.setMessage(rawResult.getText());
        AlertDialog alert1 = builder.create();
        alert1.show();

        mScannerView.resumeCameraPreview(this);
    }

}

6. Run project anda

Saat proyek anda selesai di run, maka hasil outputnya kurang lebih akan seperti ini :

Referensi https://www.studytutorial.in/android-bar-code-qr-code-scanner-tutorial-using-zxing-scanner-library


background

Gabung CodePolitan Membership

Ingin belajar coding secara online dengan lebih terarah? Gabung sekarang dalam program Premium Membership di CodePolitan. Dapatkan ratusan modul belajar pemrograman premium dalam beragam format dengan materi silabus lengkap dan tersusun rapi dari awal hingga mahir.

LIHAT MATERI BELAJAR GABUNG MEMBERSHIP