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
2.1k
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
1k
EmojiPicker触ってみた
napplecomputer
0
690
compileSdkVersion33でgetSerializable/getParcelableがつらい話
napplecomputer
13
5.6k
式年遷Target SDK Version
napplecomputer
0
360
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
460
通知がOFFだとToastは表示されな… されてる!?
napplecomputer
0
1.1k
Android Qのストレージの話
napplecomputer
3
1.2k
Wi-Fi RTTによる屋内測位アプリを作ろう
napplecomputer
5
17k
Other Decks in Technology
See All in Technology
React Server ComponentsでAPI不要の開発体験
polidog
PRO
1
360
意志の力が9割。アニメから学ぶAI時代のこれから。
endohizumi
1
110
プロジェクトマネジメントは不確実性との対話だ
hisashiwatanabe
0
180
モノレポにおけるエラー管理 ~Runbook自動生成とチームメンションの最適化
biwashi
0
460
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
2
580
Goでマークダウンの独自記法を実装する
lag129
0
110
[OCI Technical Deep Dive] OracleのAI戦略(2025年8月5日開催)
oracle4engineer
PRO
1
260
Engineering Failure-Resilient Systems
infraplumber0
0
130
生成AIによるデータサイエンスの変革
taka_aki
0
3.1k
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
270
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
200
JOAI発表資料 @ 関東kaggler会
joai_committee
1
170
Featured
See All Featured
It's Worth the Effort
3n
187
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to train your dragon (web standard)
notwaldorf
96
6.2k
RailsConf 2023
tenderlove
30
1.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Navigating Team Friction
lara
188
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
Typedesign – Prime Four
hannesfritz
42
2.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
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連携ほしい まとめ