17 Eylül 2020 Perşembe

QRCode Nedir ? Android ile QRCode Kullanımı


Hayatımıza bir anda dahil olan QR kodun en temel özelliği bilginin akışını hızlandırmasıdır. Bir gazete ilanında, bir alışveriş merkezinde, bir mağazada ya da yolda yürürken dikkatinizi çeken bir ilan, bilgilendirme yazısı, web sitesi linki veya iletişim bilgisini not etmek veya aklınızda tutmak yerine akıllı telefonunuza yükleyeceğiniz basit bir uygulama ve kamerası sayesinde bu bilgiye hemen ulaşabilir, kayıt altına alabilir ve dilediğiniz zaman kullanabilirsiniz. 

QR Code, Japonya’da faaliyet gösteren ve Toyota’nın bir yan kuruluşu olan Denso Wave firması tarafından geliştirilen 2 boyutlu bir barkod sistemidir. Adını ingilizcede Çabuk Tepki anlamına gelen Quick Response kelimelerinin baş harflerinden alır.

İçeriği bir metin, web sitesi adresi, video link dahil herhangi bir veri olabilir. QR Code okuyucu bir yazılım vasıtasıyla bir cep telefonu rahatlıkla QR Code okuyabilir ve ilgili ürün veya servis sayfasını açabilir. 

Bu blog yazısında mobil cihazdan QR kodu nasıl taratılır konusundan bahsedeceğiz. Google her zaman yaptığı gibi bu işi de kolayca yapmamızı sağlayan bir kütüphane oluşturmuş. Kütüphanemizin ismi Zxing. Açık kaynak olarak geliştirilen bu kütüphane, QR kodunu tarama işinde bize inanılmaz kolaylıklar sağlıyor. Kütüphaneyi tanıttıktan sonra gelin bu kütüphaneyi uygulamamıza nasıl dahil edebiliriz, onu görelim.

Android Studio kullanan arkadaşların çok iyi bildiği build.gradle dosyası üzerinden kütüphaneyi dâhil etmeyi göstereceğiz.

Maven

repositories {
    mavenCentral()

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }
}
build.gradle
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.google.zxing:core:2.2'
    compile 'com.embarkmobile:zxing-android-minimal:1.2.1@aar'
    compile files('./libs/zxing/core.jar')
}
MainActivity.java

tara = (ImageButton) findViewById(R.id.tarabutton);

tara.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(intent, 0);	//Barcode Scanner to scan for us
    }
});
Bu kısmı satır satır anlatacak olursak önce kütüphane içerisinde mevcut tarayıcıya yönlendiren bir Intent tanımlıyoruz. Ardından intent içerisine ekstra veri yüklüyoruz. Bu veri bizim tarama modumuzu gösteriyor. Tarama modu olarak QR_CODE_MODE seçiyoruz. Tabiki tarayıcıyı başka modlarda çalıştırmak da mümkün. Bu modlar PRODUCT_MODE, CODE_39, CODE_93, CODE_128, DATA_MATRIX, ITF, CODABAR. onClick içerisinde tanımlanan Transition işleminden sonuç alabilmek için onActivityResult metodu içerisinde bazı koşul ifadeleri kullanmamız gerekiyor.
Burada tarama gerçekleşirse intent içerisinden SCAN_RESULT  ile tarama sonucunu TextView ile ekrana yazdırıyoruz. Bu eklemeleri de yaptıktan sonra uygulamamızı çalıştırabiliriz. Emülatörde çalıştırmak yerine gerçek cihazlarda çalıştırırsanız daha verimli sonuç alabilirsiniz.
MainActivity.java
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    if (requestCode == 0) {
        TextView tvlink=(TextView)findViewById(R.id.linktext);
        if (resultCode == RESULT_OK) {
            tvlink.setText(intent.getStringExtra("SCAN_RESULT"));
        } else if (resultCode == RESULT_CANCELED) {
            tvlink.setText("Scan cancelled.");
        }
    }
}

Hiç yorum yok:

Yorum Gönderme