今年发布的 Android 10 引入了全新的 Scoped Storage,恰巧 Android Dev Simmit 上面也提到了相关的内容,我会结合大会中的讲解以及我自己的理解,为大家带来 Scoped Storage 的介绍,以及作为开发者来说,哪些变化是需要我们注意的。没关注的小伙伴记得关注订阅鸭!如果觉得这些文章有点意思,记得分享转发评论点赞鸭!
我们回到最开头的问题:为什么 Android 系统文件夹如此混乱?那是因为一旦 App 拿到了 WRITE_EXTERNAL_STORAGE
这个权限之后,就可以在你的根目录下面肆意妄为的建立无数文件夹,根本原因就是因为开发者不遵守规范。
正确的规范
根据官方文档上面的介绍,我们有四种方式存储数据和文件:内部存储、外部存储、SharedPreferences 和数据库。今天我们所关注的地方是上图中画红框的两个,即内部存储和外部存储。为了防止有些同学不清楚这两个存储的定义和目的,我帮大家简单回顾一下。
内部存储
内部存储目录主要分为 4 部分,如上图所示。但我们常用的是文件目录和缓存目录,在 Kotlin 中可以