Senin, 04 Maret 2019

Membuat Aplikasi Android QRCode dan Barcode Scanner Sederhana

pada artikel kali ini, kita akan bahas cara membuat aplikasi scanner QRCode dan Barcode.



QRCode adalah singkatan dari Quick Response Code. kode 2D ini dapat menyimpan banyak informasi. Sering digunakan sebagai bagian dari advertising, marketing, dan jejaring sosial, sistem ini bisa dipakai oleh ponsel yang memiliki aplikasi pembaca kode QR dengan akses internet.
sedangkan, Barcode adalah kumpulan data optik yang dibaca oleh mesin. nah, Barcode ini mengumpulkan data dari lebar garis dan spaci garis paralel. Barcode dapat sisebut juga dengan Kode Batang.

QRCode dan Barcode pada umumnya memiliki fungsi yang sama, hanya saja berbeda pada bentuk dan kapasitas penyimpanan datanya. QrCode dapat menyimpan data lebih banyak, sedangkan Barcode kapasitas datanya terbatas.

oke, sekarang udah taukan perbedaan dari QRCode dan Barcode?.. sekarang kita langsung aja mulai buat aplikasinya.


Menambahkan Library


pertama, buat project baru. silahkan beri nama project sesuai kebutuhan teman-teman.
kemudian, buka gradle dan tambahkan library zXing untuk membaca QRCode-nya.

compile 'com.google.zxing:core:3.2.1'
compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'

dan lakukan sync.


Membuat User Interface

untuk layout kita design seperti dibawah ini. saat tombol scan diklik, nanti akan diarahkan ke scanner QrCode.
code dari layout diatas adalah

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.newpc.qrcode.ReaderActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="QRCode Scanner"
        android:textSize="25dp"
        android:layout_centerHorizontal="true"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="SCAN"
        android:id="@+id/scan_btn"/>
</RelativeLayout>

selanjutnya, kita akan mendefenisikan view object sesuai dengan layout yang  dibuat tadi.
silahkan buka file MainActivity.java, lalu tambahkan code berikut ini


private Button scan_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_reader);
    scan_btn = (Button) findViewById(R.id.scan_btn);
}

selanjutnya kita akan membuat aksi saat tombol scan diklik,

final Activity activity = this;
scan_btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        IntentIntegrator integrator = new IntentIntegrator(activity);
        integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
        integrator.setPrompt("Scan");
        integrator.setCameraId(0);
        integrator.setBeepEnabled(true);
        integrator.setBarcodeImageEnabled(false);
        integrator.initiateScan();
    }
});
dan codingan pada MainActivity akan menjadi seperti ini :

public class ReaderActivity extends AppCompatActivity {
    private Button scan_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_reader);
        scan_btn = (Button) findViewById(R.id.scan_btn);
        final Activity activity = this;
        scan_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                IntentIntegrator integrator = new IntentIntegrator(activity);
                integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
                integrator.setPrompt("Scan");
                integrator.setCameraId(0);
                integrator.setBeepEnabled(true);
                integrator.setBarcodeImageEnabled(false);
                integrator.initiateScan();
            }
        });
    }
}

oh iya, kalo mau aplikasinya bisa scan Barcode dan juga QrCode, teman-teman bisa mengubahkan code berikut

integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);

menjadi seperti ini

integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES);

dan, tambahkan kode berikut untuk proses scanningnya

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if(result != null){
        if(result.getContents()==null){
            Toast.makeText(this, "You cancelled the scanning", Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(this, result.getContents(),Toast.LENGTH_LONG).show();
        }
    }
    else {
        super.onActivityResult(requestCode, resultCode, data);
    }
}

oke, silahkan di jalankan aplikasinya. Selamat mencoba hehehe

salam Developer

1 komentar:

  1. You have shared a nice article about the barcode. Your service is very interesting and useful. I liked it. If anyone looking to Buy Ean Barcodes at online, uniqueproductcodes.com is the best choice.

    BalasHapus