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
2.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Photo Pickerを触って比較してみた
DroidKaigi: ランチタイムLT会 Vol.1で発表した内容です。
napplecomputer
February 24, 2022
More Decks by napplecomputer
See All by napplecomputer
Kotlin2.0対応などでビルド時間を45%削減したぞ!
napplecomputer
0
1.2k
EmojiPicker触ってみた
napplecomputer
0
780
compileSdkVersion33でgetSerializable/getParcelableがつらい話
napplecomputer
13
6k
式年遷Target SDK Version
napplecomputer
0
470
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
510
通知がOFFだとToastは表示されな… されてる!?
napplecomputer
0
1.2k
Android Qのストレージの話
napplecomputer
3
1.2k
Wi-Fi RTTによる屋内測位アプリを作ろう
napplecomputer
5
18k
Other Decks in Technology
See All in Technology
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
150
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
26
11k
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
740
Multicaで30個のミニプロジェクトをAIエージェント運用して見えてきたこと
eiei114
1
630
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
2
530
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
970
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.5k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
140
仕様駆動開発、導入半年。「本当に速くなってるの?」にデータで答える / AICon2026_hirakawa
rakus_dev
0
320
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
300
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.1k
Featured
See All Featured
Design in an AI World
tapps
1
270
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
240
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Mobile First: as difficult as doing things right
swwweet
225
10k
The Curious Case for Waylosing
cassininazir
1
440
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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連携ほしい まとめ