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
Mas Agus, kok MainActivity.java isinya layout? thanks
@sarman, Thanks infonya, sudah diperbaiki.
Noted Mas, Lalu cara tarik resultnya ke aplikasi kita bagaimana ya? thx
makasih mas agus ,saya akan bekerja keras
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
saya mau tanya gan ,
kalau misalnya ada 2 textview
bagaimana codding qr code nya ya ??
terimakasih