Preparing for scoped storage (Android Dev Summit '19)

  Рет қаралды 73,101

Android Developers

Android Developers

4 жыл бұрын

Plan overview and best practice guide to the new storage model in Android 10.
Presented by: Roxanna Aliabadi‎, Zimuzo Ezeozue, Yacine Rezgui
Android Dev Summit '19 all sessions playlist → goo.gle/ADS19allsessions
Subscribe to the Android Developers channel! → goo.gle/AndroidDevs
Check out the photo album → goo.gle/ADS19Photos
#AndroidDevSummit event: Android Dev Summit 2019; re_ty: Publish; product: Android - General; fullname: Roxanna Aliabadi, Yacine Rezgui, Zimuzo Ezeozue;

Пікірлер: 110
@kawaiiLittleDango
@kawaiiLittleDango 4 жыл бұрын
file managers and backup apps are not the only apps that need legacy storage. This is ridiculous
@mlLich
@mlLich 4 жыл бұрын
The idea of having protected storage is good, but the way it is implemented to put it mildly is terrible. Looks like these APIs were designed by first grade students. Is it that hard to create concrete type objects/enums and get rid of primitive types like Strings and Integers it is 2019 and you still use 2009 cursor apis.
@yosefalemayehu8269
@yosefalemayehu8269 4 жыл бұрын
how to downgrade to android 9 or less
@fannyjim6094
@fannyjim6094 4 жыл бұрын
No No No, Google, this is not enough for good user protection and usability, need more protection. You must add more protection mechanisms. Please make access to files more complicated, you can do it, i believe in you. I have a good idea for next version of Android: Storage Api should send access request directly to the Google Central Office each time when user wants access to a file(e.g: open or save pdf file or save xls file), user should get access to a file only after Google Central Office confirmation.
@Apenschi
@Apenschi 3 жыл бұрын
Give them time... it's not easy to kick the users and developers a... at the same time!
@xtraszone
@xtraszone 3 жыл бұрын
🤣
@officialmrakachukwu
@officialmrakachukwu 2 жыл бұрын
Stop giving them new ideas😭
@bindeshkumarsingh
@bindeshkumarsingh 2 жыл бұрын
Looks like they have intentionally killed Android.
@Henry-sv3wv
@Henry-sv3wv Жыл бұрын
i am too scared of freedom, please make android like an apple. nobody wants random access to their external sd card for apps like SSHelper.
@aleksandarmlazev4626
@aleksandarmlazev4626 4 жыл бұрын
And what about apps that have and introduce custom file formats with custom mime type and those files are created by user's time and efforts. I have a guitar notation app - Guitar Tabs X - and now I have to store the songs written by the user in the Downloads collection ?? Those songs can also be exported to MIDI or PDF and how you imagine those connected files to be scattered in different collections or worse - to be deleted if the user uninstalls the app??? Now the app creates one public external storage folder and stores everything inside. That folder can be easily deleted by the user but will stay if the user uninstalls/installs the app as there are the files created by the user! Why not keep that approach and let apps create and use one persistent folder?
@ben6
@ben6 4 жыл бұрын
I look forward to experiencing bugs on Spotify and Audible, as well as various other music/ audiobook players.
@giuseppe1000
@giuseppe1000 4 жыл бұрын
Thanks for this presentation, but the scoped storage it's terrible. The idea behind is good, but it's impossible for most apps use those APIs. An example is an enterprise app which writes log files (and append lines while running) in folders on ext storage using pure java libraries like log4j. This will break most of enterprise apps and most of MDM solutions. A very easier approach could have been involved a standard permission request (maybe specifying the directory) and when granted allow developers to keep using standard java IO classes to do any operation inside the folder.
@TBadalov
@TBadalov 2 жыл бұрын
Then it's time for enterprise to re-evaluate what they truly need? Instead of blaming everyone else
@maxchin2
@maxchin2 3 жыл бұрын
I have to relearn Android technologies for every 2 years. I come and watch this video after camera stop working in 2020. Maybe another changes in 2022 and my app stop working again.
@AveryMendoza324
@AveryMendoza324 3 жыл бұрын
Same
@maxchin2
@maxchin2 3 жыл бұрын
I have forgotten that I left a message 4 months ago and I'm here again to revise on scoped storage.
@TBadalov
@TBadalov 2 жыл бұрын
I don't see how I attacked you but given your intolerance towards changes in Android, I understand where you are coming from. Anything you don't like is an attack
@maxchin2
@maxchin2 2 жыл бұрын
@@TBadalov Didn't you just removed all 2 messages? Maybe u should spend your time wiser somewhere else.
@TBadalov
@TBadalov 2 жыл бұрын
@@maxchin2 haha, no, youtube also hid your previous comment. It happens quite often
@MikkoRantalainen
@MikkoRantalainen 4 жыл бұрын
@Android Developers: how about allowing full storage access for apps if the "user" is a developer? I'm fine with selecting myself which apps get full access to shared storage. If I only wanted to use "media files" I'd be using iOS already. I want hex editor, file manager, proper text editor and other stuff that makes no sense to any casual user. And I want root access when I decide it.
@MikkoRantalainen
@MikkoRantalainen 4 жыл бұрын
Continued: I don't need a new class to convert from seconds to milliseconds! You sound like you really think that going from 5 minutes to milliseconds is better with `TimeUnit.MILLISECONDS.convert(5, TimeUnit.MINUTES)` than writing just `5 * 60 * 1000` instead. Or how about using floating point numbers and always use seconds as the unit? Either way, the developer still must understand the expected unit and hardcode it into the source code.
@aninnymoose720
@aninnymoose720 2 жыл бұрын
Google thinks the data there is too valuable to allow anyone to touch it for less than their soul
@MariusDuna
@MariusDuna 4 жыл бұрын
This is going to be IOS copy
@lindentree3747
@lindentree3747 4 жыл бұрын
Our app creates and manages files that are not supposed to be deleted "automatically" when the app in uninstalled. The user invested time and effort, the files are the result and they should not just disappear. I'm sure a lot of other apps have the same concern. Hey Google, just provide a new folder that can survive an uninstall-reinstall event, or an uninstall-I-still-need-the-files event. And it's not about one single file or a one-by-one low performance copy through SAF, it's a large directory tree with fast access from native code. Maybe something the user can allow with OPEN_DOC_TREE or something, but accessible form native UNIX code and File class. We're now preparing an update: Well ask permission from the users to copy the data from the current safe-from-uninstall location, easily accessible with file managers (to copy files in and out) to the hidden private folder. And with the big warning "don't forget to export everything as zip before uninstalling". Ridiculous.
@TBadalov
@TBadalov 2 жыл бұрын
Please be concrete. I am a user and I hardly can imagine what kind of app truly deserves to retain its files even after being uninstalled. Is it game score that you want to save on my device and you are being cheap and not saving them on your server?
@researchandbuild1751
@researchandbuild1751 2 жыл бұрын
@@TBadalov well for example my app is a music beats making app (you can make entire songs or loops, etc)..users may not appreciate losing work they may have done. But I do see your point, perhaps if they are uninstalling, they want everything gone.
@TBadalov
@TBadalov 2 жыл бұрын
@@researchandbuild1751 supply and demand determines everyrhing. If it is really the case that users need to retain data of a specitic app , the app eventually is going to implement sync functionality or some kind of export/save button to backup the project or it is going to see inevitable outcome of becoming outdated and replaced by new players. Because why not? Old apps played enough, time for new apps to shine. And obviously, no app is irreplaceable as well as their devs. Basically 0 compassion towards developers, I like it, truly reflects the world
@Cobinja
@Cobinja 2 жыл бұрын
@@TBadalov How about an office suite? Do you really want your documents gone when you uninstall the suite? I don't think so.
@TBadalov
@TBadalov 2 жыл бұрын
@@Cobinja, why would I uninstall office suit if I need it that much?
@yasusaberi5072
@yasusaberi5072 3 жыл бұрын
Google continually change Android, even when most of those changes are unnecessary
@khamidjonkhamidov3759
@khamidjonkhamidov3759 4 жыл бұрын
I seem not to suggest my friends to be android developer as it is becoming worse. Even users want to have a better management of files by different apps they want. Now it seems not to be the case. Good bye free android world! Welcome endless limitations!
@MikkoRantalainen
@MikkoRantalainen 4 жыл бұрын
Is there any reason an app SHOULD NOT request `takePersistableUriPermission`? If not, why the framework does not automatically make all request persistable?
@JimAndreas
@JimAndreas 4 жыл бұрын
Hi All. I was here looking for clarity on how to drop some PDB (protein data bank) files on a phone and then find them using a 3D protein viewer (under development) programmatically. I was hoping for some sort of guidance. That this presentation was confusing is an understatement. Will keep looking.
@sierrabravo7368
@sierrabravo7368 4 жыл бұрын
Whre is the list of these new permissions? Just tell me where to find the info!!
@llothar68
@llothar68 3 жыл бұрын
I have a content management application. How can i add my own metadata to all files? Either embedded in the file data or as extended attributes to the file? How can i use inode tracking to find changes made to media now automatically? What if the media is a PDF, Zip File or ASCII text and not audio,image,video?
@Lapikize
@Lapikize 2 жыл бұрын
I miss the swear words to describe how bad a change is.
@hw4361
@hw4361 4 жыл бұрын
What if I want to put all the short videos/images downloaded from 9gag/reddit/giphy etc to some specific folder, but not visible to the default gallery, and also want this folder to be kept when the app is uninstalled? Or copy/move to external SDCard?
@llothar68
@llothar68 3 жыл бұрын
You go to the supermarket and buy a tablet able to run linux.
@Trecoolerok
@Trecoolerok 3 жыл бұрын
You can do it manually. And add .nomedia file, for gallery will not be able to see files from this directory
@user-ug9nn
@user-ug9nn 2 жыл бұрын
I am just an android user, updated owncloud and was not able to edit my files on storage because of implementing of scope storage... so reverted back to old version of the app. Come here to understand how it function and I see words no visual representation...I think this android feature is like this presentation that look rough and messy ... I keep for now my old owncloud app version
@pasqualepiccolo1161
@pasqualepiccolo1161 3 жыл бұрын
😱😱😱😱😱😱😱😱😱😱😱😱 I have tons of code written with the File API.
@ttukbaegi-breaker
@ttukbaegi-breaker 4 жыл бұрын
Deleting images created by other apps doesn't work. It only removes the entry from the content provider database, not the actual file. What's worse is that once you open the Photos app, the image gets re-registered into the database with a new ID. There are issue tracker reports. Please fix this before 11 comes out!
@patrykf4993
@patrykf4993 3 жыл бұрын
Android is back in development. We want windows for smartphones.
@agentskazzers3482
@agentskazzers3482 3 жыл бұрын
Windows on smart phones would be great if it could be powerful enough to run some of the harder things to run on pc.
@hafizmohd013
@hafizmohd013 4 жыл бұрын
where to get this sample code?
@muhammadjawad1065
@muhammadjawad1065 3 жыл бұрын
share some resources about scope storage examples like folder read-write permission in java..... its too much complicated
@Tavdonn
@Tavdonn 3 жыл бұрын
The new API that's used on apps targeted to android 11 means tht you can't access the OBB files ar the Android/data to any app with a 30 API
@megadeth8592
@megadeth8592 2 жыл бұрын
ya how about you don't
@vpalive6602
@vpalive6602 3 жыл бұрын
It's that was smart permission is a question to the owner to state period limit so the user can choose how long they have permission time limit. Permission should be temporarily like 5 Seconds 10 second 30 seconds
@n-o-i-d
@n-o-i-d 3 жыл бұрын
23:07 lol, this will be a real mess for a ton of apps. 🌝
@user-jo7bw8sr3j
@user-jo7bw8sr3j 11 ай бұрын
thanks
@tianna6012
@tianna6012 4 жыл бұрын
I'm using android 9.0. Please help me to get full external storage access without scoped storage.
@deoxal7947
@deoxal7947 4 жыл бұрын
It's only in effect for Android 10, so don't upgrade or you could install a custom ROM that supports this, Magisk or both. If you're phone's bootloader can't be unlocked you're screwed if you upgrade. The more you know about Android, the less it's going to be tailored for you.
@dikshu3101
@dikshu3101 4 жыл бұрын
How to play the file using it's _ID
@goldenlocalguirdofficials226
@goldenlocalguirdofficials226 4 жыл бұрын
Well always it's the User?
@javalc6
@javalc6 4 жыл бұрын
My applications generate and read files that are not media file, but application specific. The scoped storage does not fit such files, because they are not media file. Google says to handle such files in "download area", quite bad idea for the end user, as the download area is seen only as temporary storage. I liked previous innovations in Android releases, but the scoped storage "innovation" deceives developers and also end users, as their user experience will be awkward in case of applications that handle files not related to media.
@UDKO2
@UDKO2 4 жыл бұрын
If it's application specific data, put it in your private storage so it's removed when the app is uninstalled. You don't need read permissions for that.
@javalc6
@javalc6 4 жыл бұрын
That's bad for end user experience: my users expect that data survive when app is uninstalled for any reason, and then reinstalled. Everything is just lost after uninstall, and that is bad for end users.
@LiranBarsisa
@LiranBarsisa 4 жыл бұрын
@@UDKO2 That's even worse. Imagine it's a file that isn't considered as a media file (example is pdf or doc file) that needs to stay.
@UDKO2
@UDKO2 4 жыл бұрын
@@LiranBarsisa Did you even read the comments ? 'Imagine it's a file that isn't considered as a media file'.. that's exactly what the first comment said already (?). Be more specific and say why using private storage is 'worse'.
@Apenschi
@Apenschi 3 жыл бұрын
@@javalc6 Same for me
@iyxan2340
@iyxan2340 3 жыл бұрын
Time to switch to ubuntu touch
@AnthonyDunk
@AnthonyDunk 3 жыл бұрын
Personally I think scoped storage is a terrible idea and is going to cause a lot of trouble for developers and users alike. If introduced, it should only be for new apps, not existing ones.
@ATomCzech
@ATomCzech 4 жыл бұрын
What exactly you mean by "Unfiltered view od MediaStore", when FileManager app will be whitelisted? It will work like on Android 9? Normally with File class? And. I agree that better protection is good, but API based on Cursors? Really? For example java.nio has the ability to create custom FileSystem very easily and it works the same as native filesystem. Please follow this way.
@iyxan2340
@iyxan2340 3 жыл бұрын
Bruh if apps can't access my files then how can i access my files??
@D3An-vl2xb
@D3An-vl2xb 2 ай бұрын
Nahh broo.... I know that it protects ur files but how about the people that uses emulators? Or modders for games??... They need access to data and obb folders right?...
@shreyashkarandikar
@shreyashkarandikar 4 жыл бұрын
For those who are not able to write storage for android Q and above Add this to your manifest android:requestLegacyExternalStorage="true"
@iyxan2340
@iyxan2340 3 жыл бұрын
requestLegacyExternalStorage flag will be ignored on Android 11 and your app will never work except you implement scoped storage.
@devdeeds
@devdeeds 3 жыл бұрын
Lucky thoes who dont use storage access in their app.
@huttarl
@huttarl Жыл бұрын
"We're really responsive to developer feedback on this topic." You wouldn't know it from the issue tracker. Critical issues ignored for years, documentation of problems dismissed, and then the issue is closed.
@kirvis250
@kirvis250 4 жыл бұрын
12:35 Tutorial to that "system picker" ?
@vpalive6602
@vpalive6602 3 жыл бұрын
PROTECT EVERYBODY not just the corporations that hide in the root files
@8-bitmodern437
@8-bitmodern437 3 жыл бұрын
I mean at least let us have access to everything through the file explorer. I have an s20 and now chrome is absolutely useless, I had about 48+ GB of data on my SD card in chrome data folder which now I can't access without root which will void my warranty, he'll I can't even see the data folder through a USB cable on another device. At least give writing and reading access to all apps in my file explorer for developing sake.
@jianwuchen
@jianwuchen 2 жыл бұрын
It's a disaster for the android platform. The complex security model blocks so many applications, including myself, just want to give up this platform completely after wasting days' trying to find work around but nothing works. For proper security, you need to think holisticly instead of patch version by version which results in such a mass. With this kind of complexity, how can you guarantee security. You just block normal developers, hacker can also find loop wholes with such kind of complexity.
@venkateshpappu
@venkateshpappu 4 жыл бұрын
See the mentioned notes on scoped storage at 22:55
@gowthamkumarofficial
@gowthamkumarofficial 4 жыл бұрын
If it targets android 10 The app can request legacy storage to user or Google?
@llothar68
@llothar68 3 жыл бұрын
@@gowthamkumarofficial Only a little more time for developers to change their apps, android 11 will not allow this anymore.
@Manu-wb2uv
@Manu-wb2uv 4 жыл бұрын
Scoped storage is dope.
@agentskazzers3482
@agentskazzers3482 3 жыл бұрын
You're trolling right lol?
@bindeshkumarsingh
@bindeshkumarsingh 2 жыл бұрын
Good bye Android development. Past few years i am just updating "file management" part of my software. DocumentFile api is the most worse api i have ever seen. Android has no future its gone. We need pure Linux OS for phones.
@heshansandeepa9471
@heshansandeepa9471 Жыл бұрын
Very nice. Despite controversy, the scoped storage has been adopted successfully by the community after 3 years.
@AshishKumar-dx6pv
@AshishKumar-dx6pv 4 жыл бұрын
why not java code
@aleksandarmlazev4626
@aleksandarmlazev4626 4 жыл бұрын
I have started feature request : Please view it here: issuetracker.google.com/issues/150626935
@cliffmode2000
@cliffmode2000 4 жыл бұрын
Smart..... 🤦‍♂️
@TheMagedq
@TheMagedq 3 жыл бұрын
It's terrible in all possible ways.
@AmCanTech
@AmCanTech 4 жыл бұрын
This is beneficial to the users but not to the app developers.
@fireice2717
@fireice2717 4 жыл бұрын
This is not beneficial to anyone it's a terrible decision.
@deoxal7947
@deoxal7947 4 жыл бұрын
They brought up valid concerns but overall this isn't useful to users.
@arzannebiu7003
@arzannebiu7003 4 жыл бұрын
How it is beneficial to end users, as soon as they will update their phone, most of the apps will suddenly stop working?
@arzannebiu7003
@arzannebiu7003 4 жыл бұрын
@UCmfHKME91Ly6HTe8K34vtxg having scoped storage is really cool. Like you grant permission to a Specific Folder. But the "File" object should not be deprecated. What they want to do is nice, but HOW they want to achieve that is terrible. This way is like an advertisment for google apps which come preinstalled. If Android is becoming an IOS, then we better move to iOS. Android Q for Quit.
@deoxal7947
@deoxal7947 4 жыл бұрын
@@arzannebiu7003 Nah man, one bad design doesn't mean we should jump ship to a worse one. Instead let's jump ship to a better one. GNU powered phones are in their infancy but they're going to get better fast. What Pine64 and Purism are doing is nothing short of amazing. They are designing them from scratch because Qualcomm chips just can't be used for a libre system.
How the Android team makes widgets accessible (Android Dev Summit '19)
15:57
Android Developers
Рет қаралды 1,9 М.
80 Year Olds Share Advice for Younger Self
12:22
Sprouht
Рет қаралды 1,7 МЛН
Mama vs Son vs Daddy 😭🤣
00:13
DADDYSON SHOW
Рет қаралды 50 МЛН
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 36 МЛН
ПРОВЕРИЛ АРБУЗЫ #shorts
00:34
Паша Осадчий
Рет қаралды 7 МЛН
Android Dev Summit ‘22: The Keynote!
44:35
Android Developers
Рет қаралды 85 М.
Good APIs Vs Bad APIs: 7 Tips for API Design
5:48
ByteByteGo
Рет қаралды 225 М.
Everything about storage on Android
12:17
Android Developers
Рет қаралды 19 М.
Files for miles: Where to store them all? (Android Dev Summit '18)
18:22
Android Developers
Рет қаралды 19 М.
Pager | Compose Tips
5:27
Android Developers
Рет қаралды 9 М.
Think Fast, Talk Smart: Communication Techniques
58:20
Stanford Graduate School of Business
Рет қаралды 39 МЛН
#AskAndroid at Android Dev Summit 2019 - Architecture Components
18:21
Android Developers
Рет қаралды 12 М.
Kotlin Multiplatform in Google Workspace by Jason Parachoniak
14:38
Kotlin by JetBrains
Рет қаралды 1,6 М.
$1 vs $100,000 Slow Motion Camera!
0:44
Hafu Go
Рет қаралды 29 МЛН
Samsung laughing on iPhone #techbyakram
0:12
Tech by Akram
Рет қаралды 7 МЛН
Частая ошибка геймеров? 😐 Dareu A710X
1:00
Вэйми
Рет қаралды 5 МЛН
Rate This Smartphone Cooler Set-up ⭐
0:10
Shakeuptech
Рет қаралды 6 МЛН
Это iPhone 16
0:52
Wylsacom
Рет қаралды 628 М.
low battery 🪫
0:10
dednahype
Рет қаралды 1,7 МЛН