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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
てべすてん
March 04, 2024
170
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
300
Kotlin の煩雑な データコピーを どうにかする
tbsten
0
140
ComposeでWebアプリを作る技術
tbsten
0
290
脱 Material3 ?! lumo ui の紹介
tbsten
0
180
衝撃を受けた OSS Androidアプリ
tbsten
0
220
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Designing for Timeless Needs
cassininazir
1
260
Ethics towards AI in product and experience design
skipperchong
2
310
AI: The stuff that nobody shows you
jnunemaker
PRO
8
720
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
KATA
mclloyd
PRO
35
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
How GitHub (no longer) Works
holman
316
150k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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 !