《Android移动应用开发》存储访问框架_第1页
《Android移动应用开发》存储访问框架_第2页
《Android移动应用开发》存储访问框架_第3页
《Android移动应用开发》存储访问框架_第4页
《Android移动应用开发》存储访问框架_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论