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.9k
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
800
EmojiPicker触ってみた
napplecomputer
0
630
compileSdkVersion33でgetSerializable/getParcelableがつらい話
napplecomputer
12
5k
式年遷Target SDK Version
napplecomputer
0
300
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
430
通知がOFFだとToastは表示されな… されてる!?
napplecomputer
0
930
Android Qのストレージの話
napplecomputer
3
1.1k
Wi-Fi RTTによる屋内測位アプリを作ろう
napplecomputer
5
17k
Other Decks in Technology
See All in Technology
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
210
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
120
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
6
1.4k
『AWS Distinguished Engineerに学ぶ リトライの技術』 #ARC403/Marc Brooker on Try again: The tools and techniques behind resilient systems
quiver
0
130
Fintech SREの挑戦 PCI DSS対応をスマートにこなすインフラ戦略/Fintech SRE’s Challenge: Smart Infrastructure Strategies for PCI DSS Compliance
maaaato
0
430
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
8
1.7k
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
750
SCSAから学ぶセキュリティ管理
masakamayama
0
140
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
410
データの品質が低いと何が困るのか
kzykmyzw
6
980
Classmethod AI Talks(CATs) #15 司会進行スライド(2025.02.06) / classmethod-ai-talks-aka-cats_moderator-slides_vol15_2025-02-06
shinyaa31
0
160
Featured
See All Featured
Scaling GitHub
holman
459
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Adopting Sorbet at Scale
ufuk
74
9.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
400
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Building Adaptive Systems
keathley
39
2.4k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Automating Front-end Workflow
addyosmani
1367
200k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
BBQ
matthewcrist
86
9.4k
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連携ほしい まとめ