8.5 ContentProvider2

Contacts Provider:联系人提供者;

Calendar Provider:日历提供者,就是针对日历相关事件的一个资源库,可以对日历,时间,会议,提醒等内容做一些增删改查;

Storage Access Framework(SAF):存储访问框架,4.4以后引入的一个新玩意,为用户浏览手机中的 存储内容提供了便利,可供访问的内容不仅包括:文档,图片,视频,音频,下载,而且包含所有由 由特定ContentProvider(须具有约定的API)提供的内容。不管这些内容来自于哪里,不管是哪个应 用调用浏览系统文件内容的命令,系统都会用一个统一的界面让你去浏览。

其实就是一个内置的应用程序,叫做DocumentsUI,不同手机打开可能不同:

两个手机打开样式

SAF框架的组成

Document provider:1.一个特殊的ContentProvider,让一个存储服务(比如Google Drive)可以对外展示自己所管理的文件;

                                     2.document-provider的存储格式 和传统的文件存储格式一致,如何存储取决于自己;

                                     3.Android系统已内置了一些Document provider(下载,图片以及视频的Document provider);

Client app:一个普通的客户端软件,通过触发ACTION_OPEN_DOCUMENT 和/或 ACTION_CREATE_DOCUMENT就可以接收到来自  

                     Document provider返回的内容(比如选择一个图片, 然后返回一个Uri);

Picker:类似于文件管理器的系统级界面,提供访问客户端过滤条件的 Document provider内容的通道(即DocumentsUI程序);

特性:1.用户可以浏览所有document provider提供的内容,而不仅仅是单一的应用程序;

           2.提供了长期、持续的访问document provider中文件的能力以及数据的持久化(用户可增删改查document provider所维护的内容);

           3.支持多用户以及临时性的内容服务,比如USB storage providers只有当驱动安装成功才会出现;

创建删除文件

自定义Document Provider

可以使应用数据也能在DocumentsUI中打开(api要求19以上)

使用

你可能感兴趣的:(8.5 ContentProvider2)