Android バーコード/QRコードの読み取り(Java)
Programming
公開: 2022-06-07
ライブラリの導入
build.gradle
- ZXing ライブラリを追加
dependencies {
・・・・
implementation 'com.journeyapps:zxing-android-embedded:4.1.0'
}
AndroidManifest.xml
- カメラのパーミッションを許可
- ハードウェアアクセラレーションを有効に
<uses-permission android:name="android.permission.CAMERA" />
<application
android:hardwareAccelerated="true"
バーコード/QRコード読取用の Activity を追加
AndroidManifest.xml
- ZXing がデフォルトで提供している読取用の Activity を追加
- 独自で読取画面を作成する場合は、この設定は不要
<activity
android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation" />
バーコード/QRコードの読み取り
// 読取用 Activity の起動
public void initiateScan(View view) {
new IntentIntegrator(this).initiateScan();
}
// 読取結果の取得
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// バーコードを読み込んだ後の処理
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result == null || result.getContents() == null) {
super.onActivityResult(requestCode, resultCode, data);
return;
}
// バーコードのデータを取得する
String contents = result.getContents();
EditText edit = (EditText) findViewById(R.id.txt_instruction_number);
edit.setText(contents);
edit.clearFocus();
}
参考
※サンプルソースが Java ではなく Kotlin のものがあるので注意
Kotlin AndroidでQRコード読み取りアプリをライブラリを使用して作ってみた
Kotlin zxing-android-embedded を使ってみる (Kotlinで)
Java 【Android】「zxing-android-embedded」ライブラリでQRコードリーダー機能
エミュレータ―の仮想カメラの操作 仮想カメラを移動する