Article

12 สิงหาคม 2561


การเขียนแอพสแกน QR Code ด้วย Android Studio


บทความนี้จะนำเสนอวิธีการเขียนแอพบน Android Studio เพื่อใช้ในการสแกน QR Code

 

 

 

 

เริ่มจากเปิดไฟล์ build.gradle(Module: app) แล้ววางโค้ดใน dependencies ดังนี้

implementation 'com.journeyapps:zxing-android-embedded:3.6.0'

 

android qr code

 

ออกแบบ GUI ที่ activity_main.xml โดยในตัวอย่างนี้จะตั้งชื่อปุ่มว่า scan_button

<Button

    android:id="@+id/scan_button"

 android qr code

 

เขียนโค้ดใน MainActivity.java ดังนี้

 

package com.example.max.qr_test;


import android.app.Activity;

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.Toast;


import com.google.zxing.integration.android.IntentIntegrator;

import com.google.zxing.integration.android.IntentResult;


public class MainActivity extends AppCompatActivity {

 


    private Button scan_button;

    @Override

    protected void onCreate(Bundle savedInstanceState) {


       super.onCreate(savedInstanceState);


       setContentView(R.layout.activity_main);

       scan_button = (Button) findViewById(R.id.scan_button);

       final Activity activity = this;

       scan_button.setOnClickListener(new View.OnClickListener() {


           @Override

           public void onClick(View view) {

               IntentIntegrator integrator = new IntentIntegrator(activity);

               integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE);

               integrator.setPrompt("Scan");

               integrator.setCameraId(0);

               integrator.setBeepEnabled(false);

               integrator.setBarcodeImageEnabled(false);

               integrator.initiateScan();

           }

       });

    }

 

    @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

       IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode,data);

       if(result != null){

           if(result.getContents()== null){

               Toast.makeText(this, "You cancell scanning", Toast.LENGTH_LONG).show();

           }


           else{

                   Toast.makeText(this,result.getContents(),Toast.LENGTH_LONG).show();

           }

       }

       else {

           super.onActivityResult(requestCode, resultCode, data);


       }

    }

}

 

กำหนดค่า Permission ให้กับกล้องใน Manifest ดังนี้

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

จากนั้นทดสอบการทำงาน

 




กรุณา Login ก่อนถึงจะสามารถแสดงความคิดเห็นได้
Please login for comment
ตรวจสอบสถานะการจัดส่งสินค้า