Pre Requisites
- Membuat QRCode Scanner sederhana pada Android bag. pertama
The Code
Aplikasi ini akan mempunyai dua buah Activity Class, yaitu MainActivity dan QRScanner Activity. MainActivity hanya berisi nama program dan sebuah tombol, sedangkan QRScanner-lah yang melakukan proses pemindaian QRCode.Pertama-tama kita akan membuat dahulu layout untuk MainActivity, yang bernama MainActivity.xml. Beginilah kodenya :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| android:layout_width = "match_parent" android:layout_height = "match_parent" tools:context = ".MainActivity" android:background = "@drawable/background" > < TextView android:id = "@+id/labelText" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_centerHorizontal = "true" android:layout_marginTop = "185dp" android:text = "QR Code Scanner" android:textSize = "25sp" android:textColor = "#0044ff" /> < TextView android:id = "@+id/labelCopy" android:layout_centerHorizontal = "true" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_below = "@id/labelText" android:text = "by : twoh.web.id" android:textSize = "15sp" android:textColor = "#444444" /> < Button android:id = "@+id/buttonStart" android:layout_centerHorizontal = "true" android:layout_below = "@id/labelCopy" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:text = "mulai" /> </ RelativeLayout > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| package id.web.twoh.qrproject; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ Button startButton; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); startButton = (Button) findViewById(R.id.buttonStart); startButton.setOnClickListener( this ); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true ; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.buttonStart : Intent i = new Intent( this , QRScanner. class ); startActivity(i); } } } |
Buatlah file baru bernama QRScanner.java dan copy paste kan kode berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| package id.web.twoh.qrproject; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.os.Bundle; import android.view.Window; import com.example.BarcodeTest.IntentIntegrator; import com.example.BarcodeTest.IntentResult; public class QRScanner extends Activity { /** Called when the activity is first created. */ private String upc; @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); //jendela tanpa title this .requestWindowFeature(Window.FEATURE_NO_TITLE); //memulai pemindaian QRCode IntentIntegrator.initiateScan( this ); } // cek hasil dari QRCode protected void onActivityResult( int requestCode, int resultCode, Intent data) { switch (requestCode) { case IntentIntegrator.REQUEST_CODE: { if (resultCode != RESULT_CANCELED) { IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); // apabila ada hasil dari pemindaian if (scanResult != null ) { // ambil isi dari QRCode upc = scanResult.getContents(); // tampilkan pada Alert Dialog final AlertDialog.Builder builder= new AlertDialog.Builder(QRScanner. this ); builder.setTitle( "Hasil Scan" ); builder.setMessage(upc+ "\n" ); builder.setIcon(android.R.drawable.ic_dialog_alert); // Tombol untuk simpan data builder.setPositiveButton( "Simpan" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Buat simpan ke database atau ke mana // doSomething(); QRScanner. this .finish(); IntentIntegrator.initiateScan(QRScanner. this ); } }); // Tombol untuk coba lagi/keluar builder.setNegativeButton( "Coba Lagi" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub QRScanner. this .finish(); IntentIntegrator.initiateScan(QRScanner. this ); } }); // tampilkan alert box builder.show(); } break ; } } } } } |
Yang terakhir adalah file AndroidManifest.xml, jangan lupa untuk mendaftarkan QRScanner sebagai Activity baru, kodenya sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| <? xml version = "1.0" encoding = "utf-8" ?> package = "id.web.twoh.qrproject" android:versionCode = "1" android:versionName = "1.0" > < uses-sdk android:minSdkVersion = "8" android:targetSdkVersion = "8" /> < application android:allowBackup = "true" android:icon = "@drawable/ic_launcher" android:label = "@string/app_name" android:theme = "@style/AppTheme" > < activity android:name = "id.web.twoh.qrproject.MainActivity" android:label = "@string/app_name" android:theme = "@android:style/Theme.NoTitleBar" > < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > </ activity > < activity android:name = "id.web.twoh.qrproject.QRScanner" android:label = "@string/app_name" android:theme = "@android:style/Theme.NoTitleBar" > </ activity > </ application > </ manifest > |
Demo Aplikasi
Langsung saja untuk demo aplikasinya :Tampilan apabila aplikasi dibuka, klik tombol, maka akan masuk ke bagian pemindaian QR Code. Ini adalah tampilan aplikasi ketika ada data QRCode yang berhasil ditangkap.
Dan aplikasi otomatis akan menampilkan alert dialog apabila telah selesai mendeteksi QR Code.
That’s all. Aplikasi QRCode scanner ini sangat berguna untuk membuat aplikasi kehadiran, atau aplikasi pencatatan inventoris barang. Semoga berguna
Seperti biasa, tinggalkan komentar apabila masih ada yang kurang dimengerti
1 comments:
kalau ingin menampilkan hasil scan tsb ke dalam edittext/textview dalam layout xml bagaimana gan ?
ReplyPost a Comment