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
Cybozu Android Dev Summit 2022 LT会 - Something about storage on Android
Search
SiLeader
November 29, 2022
Programming
0
760
Cybozu Android Dev Summit 2022 LT会 - Something about storage on Android
元の動画
Everything about storage on Android
https://youtu.be/jcO6p5TlcGs
SiLeader
November 29, 2022
Tweet
Share
More Decks by SiLeader
See All by SiLeader
Cybozu Google I/O 2023 LT会 - WebAssembly
sileader
0
690
Other Decks in Programming
See All in Programming
継続的な活動で築く地方エンジニアの道
myamashii
2
360
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
企業向け生成AIアプリの 開発から得られた知見
takaakikakei
0
310
Namespace on read
tagomoris
2
370
リハビリmruby
kishima
1
160
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
CSC307 Lecture 12
javiergs
PRO
0
220
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
初心者がおさえておきたいAWS CDKのベストプラクティス 2024
konokenj
15
7.3k
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
Featured
See All Featured
In The Pink: A Labor of Love
frogandcode
139
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Optimizing for Happiness
mojombo
373
69k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Debugging Ruby Performance
tmm1
71
11k
Scaling GitHub
holman
458
140k
Six Lessons from altMBA
skipperchong
24
3.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
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の商標です