我如何使用 DriveApi.MetadataBufferResult?
How do I work with DriveApi.MetadataBufferResult?
我正在使用 Drive API 并且开始感到非常沮丧。我正在尝试使用查询来根据他们的名字搜索 files/folders。这个演示有一个很好的例子来说明如何做到这一点:https://github.com/googledrive/android-demos/blob/master/src/com/google/android/gms/drive/sample/demo/QueryFilesWithAInTitleActivity.java
但我不想将数据添加到 ListView,我只想直接从 MetadataBufferResult 中提取信息(标题和 ID,以便我可以使用它们)。但是我看过的每个例子都只做这个 ListView 的事情,我还没有找到一种方法来从 MetadataBufferResult 中提取任何信息或找到关于它的好的文档。
基本上我希望能够做到这一点(代码取自上面链接的演示):
final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
new ResultCallback<DriveApi.MetadataBufferResult>() {
@Override
public void onResult(DriveApi.MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving results");
return;
}
//I haven't been able to find a way to do this
result.getDriveID();
result.getFileTitle();
}
};
简短版:我想在某人的云端硬盘帐户的根目录中搜索标题为 "x" 的文件,然后 read/write 到此文件。我的问题是我无法从 MetadataBufferResult 中提取数据 object 我通过了,我看到的所有示例都使用我不想做的 ListView 输出它。
试试这个:
public void onResult(MetadataBufferResult rslt) {
if (rslt != null && rslt.getStatus().isSuccess()) {
MetadataBuffer mdb = null;
try {
mdb = rslt.getMetadataBuffer();
if (mdb != null ) for (Metadata md : mdb) {
if (md == null || !md.isDataValid()) continue;
md.getTitle();
md.getDriveId();
md.getAlternateLink();
//md.get.....();
}
} finally { if (mdb != null) mdb.close(); }
}
}
键入 'md. ...',您将获得可用元数据列表。可以找到完整的上下文 here
祝你好运
我正在使用 Drive API 并且开始感到非常沮丧。我正在尝试使用查询来根据他们的名字搜索 files/folders。这个演示有一个很好的例子来说明如何做到这一点:https://github.com/googledrive/android-demos/blob/master/src/com/google/android/gms/drive/sample/demo/QueryFilesWithAInTitleActivity.java
但我不想将数据添加到 ListView,我只想直接从 MetadataBufferResult 中提取信息(标题和 ID,以便我可以使用它们)。但是我看过的每个例子都只做这个 ListView 的事情,我还没有找到一种方法来从 MetadataBufferResult 中提取任何信息或找到关于它的好的文档。
基本上我希望能够做到这一点(代码取自上面链接的演示):
final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
new ResultCallback<DriveApi.MetadataBufferResult>() {
@Override
public void onResult(DriveApi.MetadataBufferResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while retrieving results");
return;
}
//I haven't been able to find a way to do this
result.getDriveID();
result.getFileTitle();
}
};
简短版:我想在某人的云端硬盘帐户的根目录中搜索标题为 "x" 的文件,然后 read/write 到此文件。我的问题是我无法从 MetadataBufferResult 中提取数据 object 我通过了,我看到的所有示例都使用我不想做的 ListView 输出它。
试试这个:
public void onResult(MetadataBufferResult rslt) {
if (rslt != null && rslt.getStatus().isSuccess()) {
MetadataBuffer mdb = null;
try {
mdb = rslt.getMetadataBuffer();
if (mdb != null ) for (Metadata md : mdb) {
if (md == null || !md.isDataValid()) continue;
md.getTitle();
md.getDriveId();
md.getAlternateLink();
//md.get.....();
}
} finally { if (mdb != null) mdb.close(); }
}
}
键入 'md. ...',您将获得可用元数据列表。可以找到完整的上下文 here
祝你好运