Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CameraXとCompose
Search
てべすてん
March 04, 2024
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CameraXとCompose
Jetpack ComposeでCameraXを扱うためのあれこれについて発表しました。
てべすてん
March 04, 2024
More Decks by てべすてん
See All by てべすてん
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
310
Kotlin の煩雑な データコピーを どうにかする
tbsten
0
140
ComposeでWebアプリを作る技術
tbsten
0
310
脱 Material3 ?! lumo ui の紹介
tbsten
0
190
衝撃を受けた OSS Androidアプリ
tbsten
0
230
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
520
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
Producing Creativity
orderedlist
PRO
348
41k
Everyday Curiosity
cassininazir
0
310
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Building Applications with DynamoDB
mza
96
7.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Building Adaptive Systems
keathley
44
3.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Transcript
CameraXとCompose てべすてん 2024/03/04
自己紹介 てべすてん • 専門学校 3年生 • 4月からAndroidエンジニア • Android歴 1年半
• 趣味: 音楽鑑賞
CameraX
CameraXとは? https://developer.android.com/codelabs/camerax-getting-started?hl=ja
CameraXのアーキテクチャ 主なコンポーネント • ユースケース • PreviewView
CameraXのユースケース • 利用したいカメラの機能 • 現状は以下の4つが用意されている ◦ プレビュー ◦ 画像解析 ◦
画像キャプチャ ◦ 動画キャプチャ • ライフサイクルにユースケースをbindして使う more: https://developer.android.com/media/camera/camerax/architecture?hl=ja
CameraXのPreviewView • PreviewView ◦ プレビューユースケースを画面に表示するView
CameraXのつらみ
CameraXのつらみ ❌ Javaで書かれてる(っぽい) • kotlinらしく書けない • coroutineで書けない ❌ Composeに対応していない •
PreviewViewは Android Viewのみ... Composeのプロジェクトでは いい感じにラップする必要がある
Composeで 頑張って作ってみる
Composeで頑張って使ってみる
Composeで頑張って使ってみる
None
None
❌ CameraControlがFatになりがち ◦ かといって意外と分離がむずかちい🥺 作ってみたけど...
❌ CameraControlと CameraPreviewが密結合 作ってみたけど...
❌ コールバック... 作ってみたけど...
CameraXをComposeでも 使いやすくしてほしい
ラッパーライブラリに まとめてみました (ここから宣伝ゾーン)
camerax-compose
☺ PreviewViewをラップしたCameraPreview Composable ☺ ユースケースをいい感じにラップしたUseCase helper ☺ ImageCapture.takePictureをいい感じにラップ camerax-composeの機能
CameraPreview Composable ⭕ onBindでユースケースと PreviewViewが疎結合に
UseCase helper
⭕ 各ユースケースの宣言が簡素に ⭕ previewUseCase() は自動で setSurfaceProviderしてくれる • 同様にデフォルトでつけておいて欲しい機能をライブラリ側 から入れやすい UseCase
helper
ImageCapture.takePictureのラップ
ImageCapture.takePictureのラップ
• ドキュメントの整備 • Permission周りのヘルパー • バージョン運用 ◦ compose, cameraxとの相互運用 大変そう
TODO コントリビュートしてくれてもいいんだぜ?(ボソッ
Thank you for listening !