Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cybozu Android Dev Summit 2022 LT会 - Something ...
Search
SiLeader
November 29, 2022
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cybozu Android Dev Summit 2022 LT会 - Something about storage on Android
元の動画
Everything about storage on Android
https://youtu.be/jcO6p5TlcGs
SiLeader
November 29, 2022
More Decks by SiLeader
See All by SiLeader
Cybozu Google I/O 2023 LT会 - WebAssembly
sileader
0
1.2k
Other Decks in Programming
See All in Programming
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Jetpack Compose Mechanisms
skydoves
3
820
sbt 2.0: takeoff
eed3si9n
0
160
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
880
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
Next.js: The final boss of Web Performance
guaca
0
250
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
A better future with KSS
kneath
240
18k
How to make the Groovebox
asonas
2
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
For a Future-Friendly Web
brad_frost
184
10k
Prompt Engineering for Job Search
mfonobong
0
520
Producing Creativity
orderedlist
PRO
348
41k
The SEO Collaboration Effect
kristinabergwall1
1
590
A designer walks into a library…
pauljervisheath
211
25k
Transcript
Something about storage on Android™ Everything about storage on Android
https://youtu.be/jcO6p5TlcGs
ストレージの種類 内部ストレージ 外部ストレージ (Micro SD) • 他のアプリから隔てられている • 機密データの保持が可能 •
必ず存在する • サイズ制限が厳しいかもしれない • 機密データの保持はできない • 存在の確認が必要 • サイズ制限は厳しくない アプリ専⽤ ストレージ 共有ストレージ • 他アプリと共有するファイル • メディアやドキュメント • MediaStoreによる効率的なアクセス ⾃動的に削除
ストレージAPIの更新 • Scoped Storage • READ_EXTERNAL_STORAGE権限があればメディアファイルにアクセス可能 • メディアファイル: 画像、動画、オーディオファイルなど •
ドキュメントファイルはDocument pickerを介してアクセスが必要 • ドキュメントファイル: PDF、DOCXなど • Document Picker • ドキュメントファイルへのアクセスを提供 (SAFを使⽤) • ユーザーがファイルごとにアクセスを許可を制御可能 • WRITE_EXTERNAL_STORAGEの⾮推奨化 • MediaStore経由でファイルの書き込みが可能なため追加の権限は不要 • メディアファイルの位置情報が読めないようになった • この情報を読むために追加でACCESS_MEDIA_LOCATION権限が必要になった Android 10+
Photo picker • 写真などのメディアファイルを権限なしに選択 • ⾃動的に更新されるためコードの変更は不要 Android 11 (API Level
30)+ ファイルの選択 val picker = rememberForActivityResult(PickVisualMedia()) { uri -> if (uri != null) { selectedFiles.add(uri) } } picker.launch(PickVisualMediaRequest(PickVisualMedia.ImageAndVideo)) ファイル種類の指定 // 画像のみ picker.launch(PickVisualMediaRequest(PickVisualMedia.ImageOnly)) // 動画のみ picker.launch(PickVisualMediaRequest(PickVisualMedia.VideoOnly)) // MIMEタイプで指定 picker.launch(PickVisualMediaRequest(PickVisualMedia.SingleMimeType("image/png")))
プライバシーと透過性 • Androidではプライバシーと透過性が⼤幅に改善 • Photo pickerなどのUXも強化 • 権限が不要なAPIの追加 • アプリで追加で許可を得る必要をなくす
• ユーザーがアクセス許可を制御できる
出典と帰属 出典 • Everything about storage on Android • YouTube:
https://youtu.be/jcO6p5TlcGs • Photo picker • https://developer.android.com/training/data-storage/shared/photopicker 帰属 AndroidはGoogle LLCの商標です