2026.09.03 15:20 ~ 16:00 Panda

低レイヤもKotlinにお任せ! 〜ハードウェア制御でも言語機能を使いこなす〜

Androidプラットフォーム 日本語 通訳あり

# 概要 Androidアプリと現実世界のハードウェアを繋ぐ開発は、時としてレガシーで泥臭い作業を伴います。 本セッションでは店舗などで使われるUSBサーマルプリンタの制御を題材に低レイヤのハードウェア通信を、Kotlinの言語機能とJetpack Composeを使ったモダンで宣言的な開発体験に書き換える例を紹介します。 ハードウェア制御プロトコルの多くは、突き詰めるとバイト列とマジックナンバーで構成されるコマンド体系です。従来の素朴な実装では接続不良、シーケンスの考慮漏れといった不具合とその解析に多くの時間を費やすことになります。 実例としてレシートの印字に使われるESC/POSコマンドの仕様から始まり、それをKotlin DSLで型安全にラップする手法、最後にCompose UIでのオフスクリーンレンダリングを通じたテスタブルな環境づくりという現代のアプリ開発のテクニックを駆使します。 モダンな技術でワクワクできるハードウェアのプロトタイピング手法を紹介します。 Androidとハードウェアの可能性を示すセッションです。 # トークに含まれる技術トピック - 枯れた仕様と戦う(USB Host APIとESC/POS) サーマルプリンタの事実上の標準であるESC/POSコマンドは、1980年代から続くレガシーな仕様です。このバイト列(たとえば `0x1B 0x61 0x01` で中央揃え)をAndroidから直接送信する低レイヤー制御の設計プラクティスと、USB Host APIの利用時に陥りやすい落とし穴について解説します。 - Kotlin DSLでドメイン固有言語を作る 可読性の低いバイト列操作から脱却するため、KotlinのType-Safe Builders(高階関数、レシーバ付き関数リテラル、拡張関数)をフル活用します。暗号のようなコマンド群を、Android Studioで補完が効く宣言的で安全なDSLへと抽象化し、チームの誰もが直感的に理解できる開発者フレンドリーなハードウェア制御基盤を構築するノウハウを学べます。 - Compose UIを汎用レンダリングエンジンとして活用する(ハードウェア制約の突破) ハードウェア制御の最大の壁は「実機がないと検証できない」「実機のスペック(日本語フォント非対応など)に依存する」ことです。本セッションでは、Composeのプレビュー機能を用いてハードウェアの挙動を素早く検証するサイクルを実現します。さらに、Composeの内部挙動をハックしたオフスクリーンレンダリングにより、Composeで構築したUIをそのままBitmap化して印刷するアプローチを実演します。 ハードウェアの制約をモダンなソフトウェア技術で突破する、Androidの新たな可能性を感じてください。

対象者

- ハードウェア連携やプロトタイピングに興味がある方 - 業務で低レイヤー制御を行っており開発効率を高めたい方 - チーム開発でのハードウェア知識の共有方法を探している方 - Kotlinの言語機能を活用したい方。Kotlin DSL(Type-Safe Builders)の具体的な設計・活用方法を知りたい方 - Jetpack Composeへの理解を更に深めたい方。描画パイプラインやUI以外の用途(レンダリングエンジンとしての活用)に興味がある方

同じ時間帯のセッション

すべてのセッションを見る