您的位置:首页 > 编程语言 > Go语言

GoogleDrive翻译

2016-07-16 15:14 417 查看
https://developers.google.com/drive/android/files  




File contents:

files在GoogleDrive中由DriveFile接口代表,含有特定的元数据,deviceId,DriveContents。一个文件的二进制内容被封装在DriveContents类其中还包含用于从读取和写入文件的内容的方法。InputStream/outputStream/parcelFileDescriptor。

Drive API允许你的app访问文件甚至在设备脱机状态下,为了支持离线,该API实现了同步引擎,其运行在后台监听网络访问改变是否可用,以解决冲突。



DriveFile对象的生命周期:

如果文件没有同步到本地context,但用户想要打开该文件,执行一个初始下载请求;

打开一个文件的内容。这将创建该文件的二进制流的临时副本,只提供给您的应用程序;

读取或修改文件内容,更改临时副本;

提交或放弃已作出的任何文件内容的修改;

如果有变化,该文件的内容队列同步回服务器。

------------------------------------------------------------------------------------------------------------------------------------------------------------

读文件步骤:

因为Drive api自动处理下载的文件内容,如果该文件尚未在本地同步,从文件读取过程类似于使用本地存储。

1.检索DriveFile对象。

2.打开file contents。该DriveFile.open方法检索同步本地文件的资源,将其打开。如果文件不与本地存储同步,它从Drive server检索文件并且返回DriveContents资源。一个DriveContents资源包含文件的二进制流的临时副本仅提供给您的应用程序。如果多个应用程序同时访问同一个文件,DriveContents资源之间没有竞争。在这种情况下,最后的写操作将是内容的最终状态。处理响应要求您检查是否调用成功与否。如果调用成功,您可以检索DriveContents资源。该资源包含的方法来获取一个InputStream或ParcelFileDescriptor读取文件的二进制内容。打开文件可能需要很长的I
/ O操作,如果该文件尚未在本地同步。可以附加一个DownloadProgressListener下载进度在一个ProgressDialog通知用户以改善用户体验。

3.使用读取流检索和处理contents。一个DriveContents资源提供了可用于读取打开的文件的二进制内容的java.io.InputStream。

4.关闭file contents。关闭DriveContents资源。

写文件步骤:

写入文件遵循类似的过程同读入文件



Create files 创建文件:

可以使用CreateFileActivityBuilder类和DriveFolder接口的createFile方法两种方式来创建文件。两者得到的结果是相同的。

在用户指定文件的位置和标题的情况下,CreateFileActivityBuilder类提供了预制的用户接口来简化过程。

对于以编程方式创建的文件或者在自定义的ui中允许用户指定元数据就必须使用createFile方法。

Folders 文件夹:

文件夹有专门的元数据和deviceId。root folder是一个可以被DriveApi.getRootFolder方法检索的普通文件夹

可以在root folder中创建一个folder;在folder内部创建一个folder,首先通过deviceId检索folder,然后调用DriveFolder.createFolder;在folder内部创建文件;遍历文件夹中的内容child,搜索文件夹中的内容;

File Metadata 元数据:

文件和文件夹包含的元数据有:

文件或文件夹的title;MIME type;是否开始/可编辑/废弃

删除文件和文件夹:

AppFolder资源无法删除或取消删除。删除必须用来除去AppFolder资源。

Storing Application Data:

The app folder是一个特殊隐藏文件夹可以用来存储应用程序特定数据,其内容是对用户和其他应用隐藏,尽管对用户是隐藏的,App文件夹存储在用户的硬盘,App文件夹可用于存储配置文件,临时文件,或者任何其他类型的文件属于用户,但不应该被篡改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: