公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。
方法、バージョン、制約を伴う比較可能な根拠。
- バーコード結果を必要とするワークフローが 1 つある Android アプリ。
- 正確なターゲット モデル Android がビルドされ、承認されたデバイス SDK が特定されました。
- ウェッジ、意図的、または直接的な SDK トランスポートに関する決定。誤って混ぜないでください。
公開基準
版管理された根拠とともにAndroid業務連携を構築。
公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。
- 01
ワークフローのトランスポートを選択します
焦点を絞ったフォームを迅速に改造する必要がある場合は、ウェッジを使用します。アプリケーションがイベントを所有する場合は、明示的なインテントまたはコールバックを使用します。ビジネス画面がベンダー タイプに依存しないように、小さなアダプターの背後でのみ直接デバイス API を使用します。
- 02
アプリケーションが所有するイベントを定義する
デコードされたテキスト、生のバイト、シンボル、受信時間をまとめて保存します。トランスポート ペイロードを信頼できない入力として扱い、欠落しているデータ、サイズが大きすぎるデータ、またはデコードできないデータをインベントリ ロジックに到達する前に拒否します。
- 03
1 人の所有者で開く、聞く、開始する、停止する
デコードを開始する前に結果パスを登録します。開始は 1 回だけで、ワークフローが終了すると停止し、バックグラウンド、キャンセル、エラーを含むすべての終了パスからデバイス リソースを閉じます。
- 04
不幸な道を証明してください
空のペイロード、重複した結果、タイムアウト、サポートされていないシンボル、画面の再開、スキャナー オプションのないデバイスをテストします。 1 つのデバイスでのグリーン スキャンは、すべての構成の互換性を示すものではありません。
サンプルアプリ / Kotlin
SDK・APIパターン
オリジナルアダプターパターン。 CapturePort をプライベート Android プロジェクト内の承認されたデバイス SDK にバインドします。
data class CaptureEvent(
val value: String,
val symbology: String?,
val capturedAt: Instant,
)
interface CapturePort {
fun open()
fun start()
fun stop()
fun close()
fun setListener(listener: (CaptureEvent) -> Unit)
}
class ScanWorkflow(private val scanner: CapturePort) {
private var active = false
fun begin(onCapture: (CaptureEvent) -> Unit) {
if (active) return
scanner.open()
scanner.setListener(onCapture)
scanner.start()
active = true
}
fun end() {
if (!active) return
runCatching { scanner.stop() }
runCatching { scanner.close() }
active = false
}
}SDK配布
公開ゲート
ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。
入力エラーを返し、ワークフローを別のスキャンに使用できるようにします。
有効期間の短いイベント キーによって重複を排除します。在庫を黙って二重に受け取らないでください。
現在の操作を停止し、回復可能な状態を示し、制御された再試行を許可します。
ワークフロー契約に従って停止または一時停止し、再開時に安全に再登録します。
証拠ステータス
方法、バージョン、制約を伴う比較可能な根拠。
- 01
モデル、スキャナー オプション、 Android ビルド、ファームウェア、および SDK リリースを記録します。
- 02
コールド スタート、繰り返し start/stop、background/resume、およびキャンセル テストを実行します。
- 03
コード 128、破損したラベル、空のトリガー、および 1 つのサポートされていないシンボルを使用してください。
- 04
未処理のスキャン データや顧客 ID が通常のログに書き込まれないことを確認します。
資料
SDK・APIパターン
ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。