Android 有一个Reading Files in Drive API。
打开文件内容
为了能够读取文件,您必须首先在 DriveFile.MODE_READ_ONLY 或 DriveFile.MODE_READ_WRITE 模式下打开其 DriveContents 资源,具体取决于您更喜欢使用 InputStream 还是 ParcelFileDescriptor 类。
注意:InputStream 类仅适用于以 READ_ONLY 模式打开的文件。使用 READ_WRITE 打开的文件必须使用 ParcelFileDescriptor 类来读取文件。
DriveFile.open 方法检索本地同步的文件资源并打开它。如果文件未与本地存储同步,它会从 Drive 服务中检索文件并返回 DriveContents 资源。例如:
DriveFile file = ...
file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null)
.setResultCallback(contentsOpenedCallback);
DriveContents 资源包含文件二进制流的临时副本,仅对您的应用程序可用。如果多个应用程序正在访问同一个文件,则 DriveContents 资源之间不存在竞争条件。在这种情况下,最后的写入操作将是内容的最终状态。
处理响应需要您检查调用是否成功。如果调用成功,您可以检索 DriveContents 资源。此资源包含检索 InputStream 或 ParcelFileDescriptor 以读取文件的二进制内容的方法。以下示例演示了如何检索文件的 DriveContents:
ResultCallback<DriveContentsResult> contentsOpenedCallback =
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
if (!result.getStatus().isSuccess()) {
// display an error saying file can't be opened
return;
}
// DriveContents object contains pointers
// to the actual byte stream
DriveContents contents = result.getDriveContents();
}
};