투케이2K

139. (AndroidStudio/android/java) QRGen 라이브러리 사용해 QR 코드 생성 실시 본문

Android

139. (AndroidStudio/android/java) QRGen 라이브러리 사용해 QR 코드 생성 실시

투케이2K 2021. 5. 12. 09:24

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

[gradle 설정 코드]

[build.gradle(Project) 파일]
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.0.0"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        // ==== [QR 사용 위함] ====
        maven { url "https://jitpack.io" }

        // ==== [스캔 사용 위함] ====
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}








[build.gradle(Module:app) 파일]
implementation 'com.github.kenglxn.QRGen:android:2.6.0'
implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
implementation "com.google.zxing:core:3.3.0"

​

[JAVA : QR 생성 코드]

public void setQRCreate(ImageView view, String data){
	String qr_data = "";
	qr_data = String.valueOf(data);
	Log.d("---","---");
	Log.w("//===========//","================================================");
	Log.d("","\n"+"[A_QR > setQRCreate() 메소드 : QR 코드 생성 실시]");
	Log.d("","\n"+"[데이터 : "+String.valueOf(qr_data)+"]");
	Log.w("//===========//","================================================");
	Log.d("---","---");
	try {
		//TODO 기본 QR 생성 설정 : [QR 코드 색상(검정) / QR 코드 배경 색상 (투명)]

		//TODO [바이트 값으로 만들기 - 한글도 표시 위함 : 받는쪽에서 바이트 값을 확인해 변환해 줘야함]
		/**
		byte byte_data [] = qr_data.getBytes();
		qr_data = String.valueOf(Arrays.toString(byte_data));
		Bitmap myBitmap = QRCode.from(qr_data).withColor(0xff000000, 0x00000000).bitmap();
		view.setImageBitmap(myBitmap);
		*/

		//TODO [영문, 숫자 값으로 만들기]
		Bitmap myBitmap = QRCode.from(qr_data).withColor(0xff000000, 0x00000000).bitmap();
		view.setImageBitmap(myBitmap);
	}
	catch (Exception e){
		e.printStackTrace();
	}
}

[XML : ImageView 생성 코드]

<LinearLayout
                android:layout_width="150dp"
                android:layout_height="150dp"
                android:gravity="center"
                android:layout_gravity="center"
                android:background="#ffffff">
                <ImageView
                    android:id="@+id/imageView"
                    android:layout_width="160dp"
                    android:layout_height="160dp"
                    android:src="@drawable/white_app_default"/>
            </LinearLayout>

/* =========================== */

/* =========================== */

[결과 출력]

/* =========================== */

반응형
Comments