栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 适配 - FileProvider,耗时两个礼拜8000字Android面试长文

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 适配 - FileProvider,耗时两个礼拜8000字Android面试长文

上面的写法基本是固定的,很多项都是可以修改,但不建议做,下面只是记录一下。

可修改项 1

android:name=“androidx.core.content.FileProvider”

上面为指定提供服务的 Provider 类。如上是 Android androidx 包提供的类,可以自定义。可以使用ContentProvider提供服务的目标即可。

可修改项 2

android:authorities="${applicationId}.fileProvider"

唯一字符串即可,上面为一般常用的写法。

可修改项 3

android:name=“android.support.FILE_PROVIDER_PATHS”

是可以修改,但是如果没有自己实现 Provider ,这个值只能是这个。这个字符串是在类 FileProvider 里面定义的。

可修改项 4

android:resource="@xml/file_paths"

定义了类 FileProvider 使用的配置文件,文件名字不违法命名规范情况下随意。

增加一个特定的ContentProvider,FileProvider,包名androidx.core.content。

FileProvider 适配文件

文件地址 res/xml/file_paths.xml

空文件内容如下

里面的具体配置为,Android Studio 提示为这五个地方。

网站介绍上还有一个

代码里面可以看到还有一个

上面各个 -path 的区别是定义的根目录不同。

-path根目录
files-pathContext.getFilesDir()
cache-pathContext.getCacheDir()
external-pathEnvironment.getExternalStorageDirectory()
external-files-pathContext.getExternalFilesDir(null)
external-cache-pathContext.getExternalCacheDir()
external-media-pathContext.getExternalMediaDirs()
root-path/

Path 节点里面的 name 属性

唯一不重复

Path 节点里面的 path 属性

文件夹名字,自动包括此文件夹下面的子目录

例子:

这样定义后,/sdcard/Pictures 里面的所有文件,都可以从自己的App里面发出到其他App中使用。

如果你进阶的路上缺乏方向,可以加入我们的圈子和安卓开发者们一起学习交流!

Android进阶学习全套手册

Android对标阿里P7学习视频

BATJ大厂Android高频面试题

最后,借用我最喜欢的乔布斯语录,作为本文的结尾:

人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

所以每一件都要做得精彩绝伦。

你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/720153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号