[Android] 안드로이드 QRcode 적용하기 - zxing-android-embedded
QR코드 생성하기 / QR코드 읽기 / QRcode Reader / QRcode Writer
QRCode의 Zxing 라이브러리를 안드로이드에서 더 쉽게 설정하고 사용할 수 있도록 만든 zxing-android-embedded 라이브러리를 이용하여 앱에 적용해보자.
Gradle 설정
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
위와 같이 Gradle 설정을 해준다.
안드로이드 빌드 툴 버전은 23.0.2 미만의 버전에서는 컴파일 에러가 발생한다고 한다.
QRCode Reader 호출하기
QRCode Reader를 호출하고 호출된 값을 찾는 작업만 하면 된다.
1. 호출
IntentIntegrator qrScan;
qrScan = new IntentIntegrator(this);
private void scanQrCode() {
qrScan.setPrompt("Scanning...");
//qrScan.setOrientationLocked(false);
qrScan.initiateScan();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null ||result.getContents()!=null) {
editTexts[0].setText(result.getContents());
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
위와 같이 새로운 Activity가 실행되는 형태로 화면전환이 이루어진다.
2. 호출된 값
위 화면에서 QRCode가 Detect되면 QRCode Reader는 종료되고 원래의 Activity로 돌아와 onActivityResult 를 호출하게 된다.
result.getContents()의 값으로 이후에 QRCode 컨텐츠를 처리 하면 된다.
QRCode Write 생성하기
QRCode, Barcode 등 다양한 형태의 이미지 코드의 이미지를 생성 할 수 있다.
아래의 BarcodeFormat을 참조하여 생성하고자 하는 Format을 지정하여 사용하면 된다.
1. BarcodeFormat
2. 생성하기
아래의 코드에 변환할 String만 입력해주면 된다.
encode의 파라미터는 (String 변환할 내용, BarcodeFormat 변환할 바코드포멧, int 넓이, int 높이)
순으로 작성하면 된다.
3. encode 리턴형태인 BitMatrix를 Bitmap으로 변환하기
2번 생성하기에서 사용된 toBitmap 이다.
예제 Activity 전체내용
출처: https://dwfox.tistory.com/79 [DWFOX]
'Api > RestAPI' 카테고리의 다른 글
Retrofit (0) | 2019.07.18 |
---|---|
QR Code Generator (0) | 2019.05.25 |
okhttp+asyncTask (0) | 2019.05.17 |
Okhttp/gson/cloud vision (0) | 2019.05.01 |
Glide 이미지 로딩 (0) | 2019.03.22 |