Dewasa ini penggunaan teknologi dalam memudahkan pekerjaan terasa sangat bermanfaat. Salah satu contoh yang akan saya angkat sebagai pembahasan materi pada saat ini adalah penggunaan scan qr code atau barcode menggunakan android.

Ini merupakan potongan script dari aplikasi yang sempat saya kembangkan beberapa waktu belakangan ini untuk salah satu perusahaan milik pemerintah yang bergerak di bidang jasa pelayanan air minum bagi masyarakat.

Pada penerapannya, qr code ditempelkan pada rumah para pelanggan dan dijadikan sebagai identitas pelanggan untuk selanjutnya dapat dimanfaatkan oleh pembaca meteran air dengan menggunakan aplikasi android.

Hasil scan qr pada rumah pelanggan selanjutnya akan menampilkan informasi identitas pelanggan seperti nomor dan nama yang bersangkutan. Namun pada script kode berikut saya hanya akan menyajikan proses pengambilan nilai dari qr code yang di-scan saja.

Pertama-tama, buatlah sebuah project baru dengan nama ScanQR, pilihan paket yang saya gunakan adalah sebagai berikut. Anda dapat menyesuaikan dengan paket yang terinstal pada komputer anda.

scanqr-1

Lalu pada activity_main.xml, disain layout-nya untuk tampilan sederhana sebagai berikut:

<LinearLayout 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:orientation="vertical" tools:context=".MainActivity" >


    <TextView android:id="@+id/textView1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Hasil Scan QR" />

    <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Scan" />

</LinearLayout>

Untuk class MainActivity.java, masukkan kode script sebagai berikut:

package net.arecaweb.scanqr;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
	
	private static final String ACTION_SCAN = "com.google.zxing.client.android.SCAN";
	private Button button;
	private TextView text;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		text=(TextView)findViewById(R.id.textView1);
		button=(Button)findViewById(R.id.button1);
		button.setOnClickListener(this);
	}

	@Override
	public void onClick(View arg0) {
		if(arg0.getId()==R.id.button1){
			try {
				Intent intent = new Intent(ACTION_SCAN);
				startActivityForResult(intent, 0);
			} catch (Exception e) {
				Toast.makeText(this, "Error: "+e, Toast.LENGTH_SHORT).show();				
			}
		}
	}
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if(requestCode==0){
			if(resultCode==RESULT_OK){
				String contents = data.getStringExtra("SCAN_RESULT");
				text.setText(contents);
			}
		}
	}
	
	@Override
	public void onBackPressed() {
		super.onBackPressed();
		finish();
	}

}

Maka hasilnya ketika aplikasi dijalankan pada perangkat android anda adalah sebagai berikut:

scanqr-2

Hasil scan akan tampil pada textview yang terdapat pada frame, yang selanjutnya dapat dikembangkan untuk kebutuhan aplikasi selanjutnya .Apabila terjadi kesalahan pada saat anda mencoba aplikasi ini, silakan meninggalkan komentar pada akhir tulisan ini.

Leave a reply

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

required