1. Pengertian QR Code ?
2. Mengenerate QR Code
3. Membuat Project QR Code Scanner
3.1 Membuat Project baru
3.2 Menambahkan Library Zxing
3.3 Membuat Antar muka pengguna (UI)
3.4 Perancangan pemrograman project QR Code Scanner
3.4.1 Devinisi View Objects
3.4.2 Memasukkan OnClickListener
3.4.3Memasukkan Scanning pada Link WEB dan GEO
3.4.4 Project Lengkap QR Code Scanner
Pengertian QR Code ?
Mungkin sering kita melihat QR Code. Whatsapp saat ini menggunakan QR Code untuk login.
QR Code diartika Quick Respon Code. QR Code sebenarnya menggunakan 2 dimensi bar code.
Sebuah QR Code terdiri dari kotak hitam persegi empat dengan latar belakang putih, dan dapat
digunakan untuk mengkodekan data yang dapat dibaca menggunakan kamera atau perangkat
pengambil gambar lainnya.
Dibawah ini contoh dari QR code :
Mengenerate QR Code
Untuk menscan QR Code yang diperlukan adalah Code dari QR Code tersebut.
Pada project saat ini QR Code yang kita generate terdiri dari Nama, Kelas dan NIM di bawah ini
contoh dari QR Code yang sudah digenerate :
Membuat sendiri QR Code dapat melalui link : http://www.goqr.me . Saya membuat JSON
string sebagai QR Data seperti contoh dibawah ini :
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.1'
implementation 'com.android.support:support-v4:28.0.0'
testCompile 'junit:junit:4.12'
* Setelah ditambahkan Library Zxing kemudian Klik Sync Now untuk mengupdate gradle
project
pada bagian ini Anda perlu adanya koneksi ke INTERNET :P.
* Untuk mendesign layout gambar di atas saya gunakan code XML dibawah ini :
activity_main.xml
dimens.xml
* Sekarang kita buka MainActivity.java, kemudian kita definisikan dahulu view objects
MainActivity.java
//View Objects
private Button buttonScan;
private TextView textViewNama, textViewKelas, textViewNim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//View objects
buttonScan = (Button) findViewById(R.id.buttonScan);
textViewNama = (TextView) findViewById(R.id.textViewNama);
textViewKelas = (TextView) findViewById(R.id.textViewKelas);
textViewNim = (TextView) findViewById(R.id.textViewNim);
}
}
Memasukkan OnClickListener
* Sekarang kita coba implementasikan OnClickListener pada button yg telah kita buat
MainActivity.java
//mengimplementasikan onclicklistener
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
//View Objects
private Button buttonScan;
private TextView textViewNama, textViewKelas, textViewNim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//View Objects
buttonScan = (Button) findViewById(R.id.buttonScan);
textViewNama = (TextView) findViewById(R.id.textViewNama);
textViewKelas = (TextView) findViewById(R.id.textViewKelas);
textViewNim = (TextView) findViewById(R.id.textViewNim);
//mengimplentasikan OnClickListener
buttonScan.setOnClickListener(this);
}
@Override
public void onClick(View view) {
}
}
package com.smartneasy.donnyqrcodescanner;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import org.json.JSONException;
import org.json.JSONObject;
//View Objects
private Button buttonScan;
private TextView textViewNama, textViewKelas, textViewNim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//View objects
buttonScan = (Button) findViewById(R.id.buttonScan);
textViewNama = (TextView) findViewById(R.id.textViewNama);
textViewKelas = (TextView) findViewById(R.id.textViewKelas);
textViewNim = (TextView) findViewById(R.id.textViewNim);
if(Patterns.WEB_URL.matcher(result.getContents()).matches()){
Intent visitUrl = new Intent(Intent.ACTION_VIEW,Uri.parse(result.getContents()));
startActivity(visitUrl);
}else {
try {
Uri geoIntent = Uri.parse(result.getContents()+"?z=11");
Intent visitGeo = new Intent(Intent.ACTION_VIEW,geoIntent);
visitGeo.setPackage("com.google.android.apps.maps");
startActivity(visitGeo);
}catch (ActivityNotFoundException e) {
Log.d("Lokasi tidak ditemukan", result.getContents());
}
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
@Override
public void onClick(View view) {
//inisialisasi scanning qr code
qrScan.initiateScan();
}
}
* Kita dapat mem Build APK atau dicoba untuk di RUN project tersebut