この記事は Androidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Java での開発経験、XML構文規則、Android のアプリ開発経験がある方を対象としています。
Android のアプリ開発でお役にたててれば、嬉しいです。
(これから Android のアプリ開発や Java での開発を始めたい方への案内は、記事の最後で紹介します)
QRコードをスキャンして任意の文字列を取得する
ガラスフィルムは液晶面の保護が目的です!
ポイント
URLの交換をスマホで行う場合に便利なQRコード。
QRコードはURLの交換に特化したインタフェースではありません。
任意のデータをQRコードで表示して、データ交換の手段として使用できます。
QRコードに表示できるデータ量は、数字が7089字、英数字が4296字、 漢字が1817字、バイナリが2953バイトです。
今回はカメラでスキャンしたQRコードから、任意の文字列を取り出す実装を紹介します。
QRコードのスキャン
QRコードのスキャンはスマホのカメラ機能して、撮影した画像からQRコードを検出し、デコードします。
GooglePlay開発者サービスにスキャン機能があり、簡単にQRコードのスキャン機能が簡単に実装できます。
このスキャン機能にはオートスキャンが実装されており、カメラの権限をリクエストする必要がありません。
使用上の注意点として、GooglePlay開発者サービスにスキャン機能が含まれていない場合にインストールが必要です。
Googleコードスキャナ
コードスキャン
Googleコードスキャナを呼び出すとカメラが起動し、コードのスキャン画面が表示されます。
コードのスキャン画面でQRコードをスキャンします。
QRコードがスキャンできると、QRコードのエンコード結果がコールバックされます。


Googleコードスキャナのインストールから、コードのスキャン画面を表示するサンプルコードです。
スキャンするQRコードにはタブ区切りで2つ文字列が含まれていて、スキャン結果から取り出しています。
privete Toast toast;
private String id;
private String owner;
:
// Googleコードスキャナのインストール確認
ModuleInstallClient moduleInstall = ModuleInstall.getClient(context);
ModuleInstallRequest moduleInstallRequest = ModuleInstallRequest.newBuilder()
.addApi(GmsBarcodeScanning.getClient(this))
.build();
moduleInstall
.installModules(moduleInstallRequest)
.addOnSuccessListener(moduleInstallResponse ->
// QRコードリーダーでフォルダID(id)とフォルダユーザID(owner)を取得
GmsBarcodeScanning.getClient(this)
.startScan()
.addOnSuccessListener(barcode -> {
if (barcode != null && barcode.getDisplayValue() != null) {
String[] tsv = barcode.getDisplayValue().split("\t");
if (tsv.length > 1) {
id = tsv[0];
owner = tsv[1];
:
}
}
})
.addOnFailureListener(
e -> {
if (e.getMessage() != null) toastMessage(e.getMessage());
})
.addOnFailureListener(e -> {
if (e.getMessage() != null) toastMessage(e.getMessage());
}));
:
private void toastMessage(String message) {
if (toast != null) toast.cancel();
toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
toast.show();
}
ModuleInstallClientやGmsBarcodeScanningからListenerでコールバックを受け取ります。
サンプルではエラー発生時にエラーメッセージをToast表示しています。
Googleコードスキャナを使用する場合、build.gradleとAndroidManifest.xmlに定義を追加する必要があります。
◎build.gradle(モジュール)
dependencies {
…
implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
…
}
◎AndroidManifest.xml
<application
:
<!-- Googleコードスキャナ -->
<meta-data
android:name="com.google.mlkit.vision.DEPENDENCIES"
android:value="barcode"/>
:
</application>
今回は、ここまでです。
QRコードをスキャンして任意の文字列を取得しているAndroidアプリです。
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪

これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、Android のアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。
未経験者からシステムエンジニアを目指すのに最適です。まずは無料相談から♪

未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪

カリキュラムとサポートがしっかりしています。お得なキャンペーンとかいろいろやっています♪

ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪

参考になったら、💛をポッチとしてね♪
コメント欄