版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SAF2023/9/28122023/9/28认识SAF
DocumentsProvider目录CONTENT12文件检索3参考教材:《Android应用开发项目化教程》认识SAF来源SAF(存储访问框架:StorageAccessFramework)是Android4.4(API19级)引入的功能。SAF让用户能够在其所有首选文档存储提供程序中方便地浏览并打开文档、图像以及其他文件。用户可以通过易用的标准UI,以统一方式在所有应用和提供程序中浏览文件和访问最近使用的文件。1认识SAF组成文档提供程序:一种内容提供程序,允许存储服务(如Google云端硬盘)显示其管理的文件。文档提供程序作为DocumentsProvider类的子类实现。文档提供程序的架构基于传统文件层次结构,但其实际数据存储方式由您决定。Android平台包括若干内置文档提供程序,如Downloads、Images和Videos;客户端应用:一种自定义应用,它调用ACTION_OPEN_DOCUMENT和ACTION_
CREATE_DOCUMENTIntent并接收文档提供程序返回的文件;选取器:一种系统UI,允许用户访问所有满足客户端应用搜索条件的文档提供程序内的文档。1认识SAF主要功能允许用户浏览所有文档提供程序而不仅仅是单个应用中的内容。让应用获得对文档提供程序所拥有文档的长期、持久性访问权限。用户可以通过此访问权限添加、编辑、保存和删除提供程序上的文件。支持多个用户帐户和临时根目录。1DocumentsProvider认识DocumentsProviderDocumentsProvider:一个特殊的ContentProvider,让一个存储服务可以对外展示自己所管理的文件。数据结构:文件目录层次2DocumentsProvider认识DocumentsProvider特性每个文档提供程序都会报告一个或多个作为探索文档结构树起点的“根目录”。每个根目录都有一个唯一的COLUMN_ROOT_ID,并且指向表示该根目录下内容的文档(目录)。根目录采用动态设计,以支持多个帐户、临时USB存储设备或用户登录/注销等用例;每个根目录下都有一个文档。该文档指向1至N个文档,而其中每个文档又可指向1至N个文档;每个存储后端都会通过使用唯一的COLUMN_DOCUMENT_ID引用各个文件和目录来显示它们。文档ID必须具有唯一性,一旦发放便不得更改,因为它们用于所有设备重启过程中的永久性URI授权;2DocumentsProvider认识DocumentsProvider特性文档可以是可打开的文件(具有特定MIME类型)或包含附加文档的目录(具有MIME_TYPE_DIRMIME类型);每个文档都可以具有不同的功能,如COLUMN_FLAGS所述。例如,FLAG_SUPPORTS_WRITE、FLAG_SUPPORTS_DELETE和FLAG_SUPPORTS_THUMBNAIL。多个目录中可以包含相同的COLUMN_DOCUMENT_ID。2DocumentsProvider控制流2DocumentsProvider控制流注意事项在SAF中,提供程序和客户端并不直接交互。客户端请求与文件交互(即读取、编辑、创建或删除文件)的权限;交互在应用触发IntentACTION_OPEN_DOCUMENT或ACTION_CREATE_DOCUMENT后开始。Intent可能包括进一步细化条件的过滤器;Intent触发后,系统选取器将检索每个已注册的提供程序,并向用户显示匹配的内容根目录;选取器会为用户提供一个标准的文档访问界面,但底层文档提供程序可能与其差异很大。2文件检索编写客户端应用设置Intent的ActionAndroid4.3及更低版本ACTION_PICKACTION_GET_CONTENTAndroid4.4及更高版本ACTION_OPEN_DOCUMENT(显示一个由系统控制的选取器UI)3文件检索编写客户端应用搜索文档当应用触发ACTION_OPEN_DOCUMENTIntent时,后者会启动一个选取器来显示所有匹配的文档提供程序在Intent中添加类别CATEGORY_
OPENABLE可对结果进行过滤,以仅显示可以打开的文档(如图像文件)语句intent.setType("image/*")可做进一步过滤,以仅显示MIME数据类型为图像的文档3文件检索编写客户端应用处理结果3文件检索编写客户端应用检查文档元数据3文件检索编写客户端应用打开文档位图3文件检索编写客户端应用打开文档获取InputStream3文件检索编写客户端应用创建新文档ACTION_CREATE_DOCUMENT创建新文档后,即可在onActivityResult()中获取其URI,以便继续向其写入内容。3文件检索编写客户端应用删除文档如果获得了文档的URI,并且文档的Document.COLUMN_FLAGS包含SUPPORTS
_DELETE,便可以删除该文档。3文件检索编写客户端应用编辑文档触发ACTION_OPEN_DOCUMENTIntent并使用类别CATEGORY_OPENABLE以仅显示可以打开的文档。3文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年北京事业单位统考市纪委市监委招聘5人备考题库及完整答案详解【历年真题】
- 2026春季河北邯郸市曲周县博硕人才选聘87人备考题库a4版附答案详解
- 2026福建龙岩市投资开发集团有限公司招聘1人备考题库含完整答案详解(名校卷)
- 中华财险广州中心支公司2026届春季招聘备考题库含完整答案详解(夺冠系列)
- 2026浙江温州桐君堂药材有限公司招聘营业员1人备考题库及参考答案详解【模拟题】
- 中建安装2026届春季校园招聘备考题库含答案详解【完整版】
- 2026中国电信云南公司春季校园招聘备考题库(历年真题)附答案详解
- 2026国家统计局琼中调查队招聘公益性岗位人员1人备考题库含完整答案详解【夺冠系列】
- 2026江苏南京师范大学专业技术人员招聘10人备考题库附完整答案详解【易错题】
- 工会经审审计回访制度
- GB/T 20001.1-2024标准起草规则第1部分:术语
- 《1+X幼儿照护(中级)》课件-气管异物急救处理
- 情感体验量表DESⅡ-附带计分解释
- 水泵设备安装施工方案百度
- 铝锭买卖协议范本
- GB/T 43103-2023金属材料蠕变-疲劳损伤评定与寿命预测方法
- QCC-SMT降低空焊虚焊不良专案课件
- 超星尔雅学习通《高职劳动教育(金华职业技术学院)》2023章节测试附答案
- 勾股定理的逆定理(人教版八年级数学下册课件)
- GB/T 22751-2008台球桌
- GA/T 148-2019法医学病理检材的提取、固定、取材及保存规范
评论
0/150
提交评论