Skip to content

FairyDevicesRD/thinklet.barcode.reader.sample

Repository files navigation

バーコードリーダーサンプルアプリ

本アプリは、CameraXとML Kit Barcode Scanningを組み合わせたバーコード読み取りアプリです。

あなたのGIFの説明

概要図

graph TD
    A[MainActivity] --> B[CameraPreviewViewModel]
    A --> C[CameraPreviewScreen]
    C --> D[CameraPreviewContent]
    
    B --> E[BarcodeScanner]
    B --> F[CameraXPatch]
    
    subgraph "Run"
        E -.->|"Flow<BarcodeData>"| B
        B -.->|"StateFlow<ScanResult>"| D
    end
Loading

対応バーコード形式

ML Kitの仕様に準拠します。

  • コード 128(FORMAT_CODE_128
  • コード 39(FORMAT_CODE_39
  • コード 93(FORMAT_CODE_93
  • Codabar(FORMAT_CODABAR
  • EAN-13(FORMAT_EAN_13
  • EAN-8(FORMAT_EAN_8
  • ITF(FORMAT_ITF
  • UPC-A(FORMAT_UPC_A
  • UPC-E(FORMAT_UPC_E
  • QR コード(FORMAT_QR_CODE
  • PDF417(FORMAT_PDF417
  • Aztec(FORMAT_AZTEC
  • Data Matrix(FORMAT_DATA_MATRIX

使用技術

  • ML Kit Barcode Scanning
  • CameraX with Compose
  • Android Jetpack Compose

開発時の環境

  • Android Studio Narwhal | 2025.1.1 Patch 1

導入

はじめに

このアプリでは、カメラ機能を使用します。
THINKLETを使う場合は、THINKLET開発者ポータルの開発者画面を表示adb設定 を確認ください。

ビルド

  1. このレポジトリをcloneします。
  2. gradlew でのビルド(もしくは、AndroidStudioから実行してください。
# USBで実機とPCを接続します
# デバッグインストール
./gradlew installDebug

使い方

基本的な使い方

  1. アプリを起動します。
  2. 必要に応じてカメラのPermissionを許可します。
  3. カメラプレビュー内にバーコードが映るようにデバイスを移動します。
  4. バーコードが検出されると、画面下部にスキャン結果が表示されます。

バーコードスキャンのコツ

  • バーコード全体がカメラ画面に収まるようにしてください。
  • 適度な距離を保ち、ピントが合うまで待ってください。
  • 照明が十分な場所で使用してください。
  • バーコードが歪まないよう、正面から読み取ってください。

応用例

例えば以下のようなアプリが実現できるでしょう。

書籍検索アプリ

書籍のISBNをスキャンし、Google Books APIを呼び出すことで、書籍情報を取得できます。

GET https://www.googleapis.com/books/v1/volumes?q=isbn:{スキャンしたISBN}

詳細は Google Books API ドキュメント をご確認ください。

商品検索アプリ

商品バーコードをスキャンし、Yahoo!ショッピング 商品検索APIを呼び出すことで、商品情報を取得できます。

GET https://shopping.yahooapis.jp/ShoppingWebService/V3/itemSearch?appid={APP_ID}&jan_code={スキャンしたバーコード}

詳細は Yahoo!ショッピング API ドキュメント をご確認ください。

トラブルシューティング

バーコードが読み取れない場合

  • カメラの汚れを確認してください。
  • バーコードの損傷や汚れを確認してください。
  • 照明条件を改善してください。
  • バーコードとカメラの距離を調整してください。

パフォーマンスが悪い場合

  • 不要なバーコード形式を無効化してください。(BarcodeScanner の supportFormats)
  • デバイスの再起動を試してください。

About

バーコードスキャンサンプルアプリ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages