320x100
QR코드 생성, 스캔까지 해봤는데요!
이번 글에는 세로로 작동하도록 해보겠습니다.
세로로 작동하려면 AndroidManifest.xml과 Scan을 하는 액티비티인 ScanQR을 수정해야하는데요.
간단합니다.
AndroidManifest.xml에서는
<activity android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation"/>
이부분을 추가하시면 되고
private IntentIntegrator qrScan;
ScanQR에서는 IntentIntegrator 클래스를 선언해주시고
new IntentIntegrator(this).initiateScan();
위 부분을
qrScan = new IntentIntegrator(this);
qrScan.setOrientationLocked(false); // default가 세로모드인데 휴대폰 방향에 따라 가로, 세로로 자동 변경됩니다.
qrScan.initiateScan();
로 번경하시면 됩니다
QR스캐닝중 "Place a barcode inside eth viewfinder rectangle to scan it."라는 문구를 봤을겁니다.
qrScan.setPrompt("Sample Text!"); 로 수정이 가능합니다.
전체 소스코드입니다.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.myqrcode">
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".ScanQR"/>
<activity android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation"/>
<activity android:name=".CreateQR" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
반응형
ScanQR.xml
package com.example.myqrcode;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
public class ScanQR extends AppCompatActivity {
private IntentIntegrator qrScan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scan_qr);
qrScan = new IntentIntegrator(this);
qrScan.setOrientationLocked(false); // default가 세로모드인데 휴대폰 방향에 따라 가로, 세로로 자동 변경됩니다.
qrScan.setPrompt("Sample Text!");
qrScan.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, "Cancelled", Toast.LENGTH_LONG).show();
// todo
} else {
Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
// todo
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
결과화면입니다.
다음글은 스캐너 화면에서 TextView를 띄워보도록 하겠습니다.
2019/04/17 - [프로그래밍/안드로이드] - 안드로이드 스튜디오 QR코드 (스캐닝에 글씨or이미지 넣기)
반응형
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 스튜디오 애뮬레이터 웹카메라 연동 (0) | 2019.04.24 |
---|---|
안드로이드 스튜디오 QR코드 (스캐닝에 글씨or이미지 넣기) (3) | 2019.04.17 |
안드로이드 스튜디오 QR코드 (스캔) (5) | 2019.04.15 |
안드로이드 스튜디오 QR코드 (생성) (0) | 2019.04.15 |
댓글