Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Photo Pickerを触って比較してみた
napplecomputer
February 24, 2022
Technology
0
280
Photo Pickerを触って比較してみた
DroidKaigi: ランチタイムLT会 Vol.1で発表した内容です。
napplecomputer
February 24, 2022
Tweet
Share
More Decks by napplecomputer
See All by napplecomputer
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
150
通知がOFFだとToastは表示されな… されてる!?
napplecomputer
0
220
Android Qのストレージの話
napplecomputer
3
790
Wi-Fi RTTによる屋内測位アプリを作ろう
napplecomputer
5
16k
Other Decks in Technology
See All in Technology
ノーコードで Stripeを使いこなす3つの方法 / jp-stripes-online-vol-4
stripehideokamoto
0
320
Modern Android dependency injection
hugovisser
1
140
今どきのLinux事情
tokida
45
37k
DeepL の用語集が(いつのまにか)日本語に対応してたので試してみた
irokawah0
0
180
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
200
220628 「Google AppSheet」タスク管理アプリをライブ作成 吉積情報伊藤さん
comucal
PRO
0
270
20220705-BASEDMM
ryotaumebayashi
0
160
Lessons Learned from Scaling Infrastructure as Code
joatmon08
0
800
SwiftUI Layout
auramagi
1
120
Power Virtual Agentsのハジメ
miyakemito
1
170
AWS Glue 触ってみた
tomuro
1
160
The application of formal methods in Kafka reliability engineering
line_developers
PRO
1
220
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
Thoughts on Productivity
jonyablonski
43
2.3k
A designer walks into a library…
pauljervisheath
196
16k
Atom: Resistance is Futile
akmur
255
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
A Philosophy of Restraint
colly
192
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
238
11k
Embracing the Ebb and Flow
colly
73
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.3k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.8k
Documentation Writing (for coders)
carmenhchung
48
2.6k
The Language of Interfaces
destraynor
148
20k
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連携ほしい まとめ