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
Photo Pickerを触って比較してみた
Search
napplecomputer
February 24, 2022
Technology
0
1.8k
Photo Pickerを触って比較してみた
DroidKaigi: ランチタイムLT会 Vol.1で発表した内容です。
napplecomputer
February 24, 2022
Tweet
Share
More Decks by napplecomputer
See All by napplecomputer
Kotlin2.0対応などでビルド時間を45%削減したぞ!
napplecomputer
0
730
EmojiPicker触ってみた
napplecomputer
0
600
compileSdkVersion33でgetSerializable/getParcelableがつらい話
napplecomputer
10
4.6k
式年遷Target SDK Version
napplecomputer
0
280
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
420
通知がOFFだとToastは表示されな… されてる!?
napplecomputer
0
890
Android Qのストレージの話
napplecomputer
3
1.1k
Wi-Fi RTTによる屋内測位アプリを作ろう
napplecomputer
5
17k
Other Decks in Technology
See All in Technology
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
Storage Browser for Amazon S3
miu_crescent
1
140
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
260
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
200
UI State設計とテスト方針
rmakiyama
2
580
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Fireside Chat
paigeccino
34
3.1k
Unsuck your backbone
ammeep
669
57k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
BBQ
matthewcrist
85
9.4k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Navigating Team Friction
lara
183
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Speed Design
sergeychernyshev
25
670
Transcript
Mobility Technologies Co., Ltd. Photo Pickerを触って比較してみた @napplecomputer
Mobility Technologies Co., Ltd. 2 ▪ なっぴー ▪ @napplecomputer ▪
株式会社Mobility Technologies所属 ▪ タクシーアプリGOのユーザーアプリ 自己紹介
Mobility Technologies Co., Ltd. Photo Picker 3
Mobility Technologies Co., Ltd. 4 ▪ Android13 DP1と一緒に発表されたAndroid13の新機能のひとつ ▪ 画像や動画を選択するUIを表示し、呼び出し元に選択ファイルを渡す
▪ Permission不要 ▪ ユーザーが選択したファイルにはアプリが終了するまでアクセスできる ▪ GooglePlayシステムの更新によりAndroid11以降で使えるようになる ▪ ただしAndroid Goでは使えないらしい 🙄 ▪ ユーザーの画像や動画にアクセスするための手段として推奨されている Photo Picker
Mobility Technologies Co., Ltd. 5 Photo Picker
Mobility Technologies Co., Ltd. 6 Photo Picker
Mobility Technologies Co., Ltd. 7 ▪ 複数選択可能 ▪ 複数選択時の上限を設定できる ▪
ローカルに無いGoogle Photosの画像は読み込めない🙄 ▪ 複数選択できない場合はボトムシートが半分くらいまで上がった状態で表示され る ▪ 複数選択できる場合はボトムシートがフルスクリーンになる Photo Picker
Mobility Technologies Co., Ltd. 8 val intent = Intent(MediaStore.ACTION_PICK_IMAGES) startActivityForResult(intent,
REQUEST_CODE) Photo Picker
Mobility Technologies Co., Ltd. 9 val intent = Intent(MediaStore.ACTION_PICK_IMAGES).apply {
putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, 2) } startActivityForResult(intent, REQUEST_CODE) Photo Picker
Mobility Technologies Co., Ltd. 10 val intent = Intent(MediaStore.ACTION_PICK_IMAGES).apply {
type = "image/*" } startActivityForResult(intent, REQUEST_CODE) Photo Picker
Mobility Technologies Co., Ltd. 11 前からこういうのあったような…?🤔 Photo Picker
Mobility Technologies Co., Ltd. 既存機能との比較 12
Mobility Technologies Co., Ltd. 13 ▪ ACTION_PICK ▪ ACTION_OPEN_DOCUMENT ▪
ACTION_GET_CONTENT たくさんあるよ画像選択Intent
Mobility Technologies Co., Ltd. 14 ▪ 古からあるファイル選択の方法 ▪ MIME Typeを指定すれば画像だけを選択できる
▪ 多くの端末ではギャラリーアプリやGoogle Photosアプリが起動する ▪ 挙動はそれぞれのアプリによって異なる ▪ ファイルの場所のURIを指定する必要があったが最近は指定しなくても普通に立 ち上がる ACTION_PICK
Mobility Technologies Co., Ltd. 15 ACTION_PICK Android13 DP1でのスクショ
Mobility Technologies Co., Ltd. 16 ▪ Android 4.4から使える ▪ MIME
Typeを指定すれば画像だけを選択できる ▪ Storage Access Frameworkによるファイル選択 ▪ ファイルのメタ情報なども取得できる ▪ ファイルへのアクセス権限の期間を永続化出来る ACTION_OPEN_DOCUMENT
Mobility Technologies Co., Ltd. 17 ACTION_OPEN_DOCUMENT Android13 DP1でのスクショ
Mobility Technologies Co., Ltd. 18 ▪ 古からあるファイル選択の方法 ▪ MIME Typeを指定すれば画像だけを選択できる
▪ OSバージョンや端末に寄って挙動が大きく異る ▪ 最近のOSではほぼACTION_OPEN_DOCUMENTとほとんど同じ挙動になる ACTION_GET_CONTENT
Mobility Technologies Co., Ltd. 19 ACTION_GET_CONTENT Android13 DP1でのスクショ
Mobility Technologies Co., Ltd. 20 既存機能との比較 名前 Photo Picker ACTION_OPEN_DOCUMENT
ACTION_GET_CONTENT ACTION_PICK 使用できるSDK バージョン 30 19 1 1 参照以外の操作 不可能 ファイルによってはメタデータなど を取得できる OSバージョンによって不可能 だったり ACTION_OPEN_DOCUME NTと同じだったり 基本的に不可能 アクセス期間 アプリが終了するま で デフォルトではアプリが終了するま で 永続化可能 OSバージョンによって不可能 だったり ACTION_OPEN_DOCUME NTと同じだったり アプリが終了するま で 複数選択 可能 可能 可能 基本的に可能 Google Photos の写真選択 不可能 不可能? 可能 基本的に可能
Mobility Technologies Co., Ltd. まとめ 21
Mobility Technologies Co., Ltd. 22 ▪ Photo Pickerが追加されたよ ▪ でも既存のACTION_GET_CONTENTが一番多機能で良さそう
▪ 今後の更新に期待 ▪ 個人的にはGoogle Photo連携ほしい まとめ