Membuat Aplikasi Android Barcode Scanner dengan memanfaatkan aplikasi Zxing Barcode Scanner.

Barcode dan QRcode sering kita temui pada suatu produk, misalnya pada buku coba perhatikan di bagian cover belakan kita temukan barcode, di pasar swalayan kita juga temukan barcode dan qrcode.

Kenapa sih kok harus ada barcode, coba bayangin deh kalau sikasir itu mengtikan kode barangnya manual tanpa scan barcode bisa lama transaksinya. Denga bracode dia tinggal scan keluar kodenya.

Androidkan ada cameranya tuh, bisa tidak yah kita buat aplikasi barcode scanner ? Kata temanku yang orang IT dan jagoan android sih bisa malah gampang. Cara yang paling gampang Kita bisa memanfaatkan aplikasi pihak ketiga untuk scan barcodenya.

Sebelum memulai project ini karena nantina kan menggunakan aplikasi Zxing Barcode Scanner, maka kita harus terlebih dahulu install aplikasi tersebut pada HP kita, ini link aplikasinya https://play.google.com/store/apps/details?id=com.google.zxing.client.android

Sekarang mari kita mulai

1. But project dengan nama “Barcode Scanner”, isi domain dengan “agusharyanto.net”, lalu klik Next sampai pada pilihan Activity pilih “Empty Activity” klik Next terus sampai finish.

2. Agar tampilan lebih cantik cari icon barcode dan qrcode di internet lalu taruh pada direktori drawable.

3. Persiapan Layoutnya, edit activity_main.xml lalu ketikan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="net.agusharyanto.barcodescanner.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hasil Scan"
        android:id="@+id/textView" />

    <EditText
        android:id="@+id/editTextCode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView"
        android:ems="10"
        android:inputType="textPersonName" />

    <Button
        android:id="@+id/buttonBarcode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/editTextCode"
        android:drawableTop="@drawable/barcode"
        android:gravity="bottom|center_vertical"
        android:text="Barcode" />

    <Button
        android:id="@+id/buttonQRCode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableTop="@drawable/qrcode"
        android:gravity="bottom|center_vertical"
        android:text=" QRCode"
        android:layout_below="@+id/editTextCode"
        android:layout_alignRight="@+id/editTextCode"
        android:layout_alignEnd="@+id/editTextCode" />

</RelativeLayout>

4. Sekarang kita ke otak dari project ini, edit MainActivity.java lalu ketikan kode berikut

package net.agusharyanto.barcodescanner;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private EditText editTextCode;
    private Button buttonBarcode, buttonQRCode;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editTextCode = (EditText) findViewById(R.id.editTextCode);

        buttonBarcode = (Button) findViewById(R.id.buttonBarcode);
        //daftarkan listener untuk memanggil fugnsi scan barcode biasa
        buttonBarcode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                scanBarcode("PRODUCT_MODE");
            }
        });

        buttonQRCode = (Button) findViewById(R.id.buttonQRCode);
        //daftarkan listener untuk memanggil fungsi scan qrcode biasa
        buttonQRCode.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                scanBarcode("QR_CODE_MODE");
            }
        });

    }

    //method scanBarcode
    private void scanBarcode(String mode) {
        try {
            //buat intent untuk memanggil fungsi scan pada aplikasi zxing
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", mode); // "PRODUCT_MODE for bar codes
            startActivityForResult(intent, 1);

        } catch (Exception e) {

            Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
            Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);
            startActivity(marketIntent);

        }
    }


    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        //Tanggkap hasil dari scan
        if (requestCode == 1) {

            if (resultCode == RESULT_OK) {
                editTextCode.setText("");
                String contents = data.getStringExtra("SCAN_RESULT");
                Toast.makeText(getBaseContext(), "Hasil :"+contents, Toast.LENGTH_SHORT).show();
               editTextCode.setText(contents);
            }

        }
    }
}

5. Sudah Selesai mari kita run projectnya

Gampangkan buatnya. Ayoo semangat jadi developer Android. Indonesia masih banyak membutihkan programmer atau developer android handal. Bahkan kalau ditambah bahasa inggris kita jago, kita punya kesempatan untuk kerja diluar negeri yang gajinya dolar. Jangan lupa juga sama orang tua yang sudah membiayai kuliah dengan fasilitasnya, cium tangannya kita akan berangkat kuliah dan buktikan padanya bahwa kita akan jadi orang yang sukses dan membanggakan orang tua.

Semoga Bermanfaat

Salam Hangat Developer Android

Agus Haryanto

6 comments to Membuat Aplikasi Android Barcode Scanner dengan memanfaatkan aplikasi Zxing Barcode Scanner.

  • sarman

    Mas Agus, kok MainActivity.java isinya layout? thanks

  • Agus Haryanto

    @sarman, Thanks infonya, sudah diperbaiki.

  • sarman

    Noted Mas, Lalu cara tarik resultnya ke aplikasi kita bagaimana ya? thx

  • hanafis

    makasih mas agus ,saya akan bekerja keras

  • Solihin Faturrahman

    Salam Kenal Mas Agus,

    Uri marketUri = Uri.parse(“market://details?id=com.google.zxing.client.android”); Darimana kita tahu URI di Playstore/Market bisa kita akses intentnya? apakah selain Zxing kita bisa juga akses urinya? misanya Aplikasi CodeScanner yang mirip Zxing Barcode Scanner

  • Pratama Ari Saputra

    saya mau tanya gan ,
    kalau misalnya ada 2 textview
    bagaimana codding qr code nya ya ??
    terimakasih

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>