Zar*_*wan 2 android google-drive-api google-play-services google-drive-android-api
我正在使用Drive API,并开始变得非常沮丧.我正在尝试使用查询根据名称搜索文件/文件夹.这个演示有一个很好的例子来说明如何执行此操作: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();
}
};
Run Code Online (Sandbox Code Playgroud)
简短版本:我想在某人的Drive帐户的根目录中搜索标题为"x"的文件,然后读/写此文件.我的问题是我无法从我传递的MetadataBufferResult对象中提取数据,我看到的所有示例都使用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(); }
}
}
Run Code Online (Sandbox Code Playgroud)
输入'md.......'并且您将获得可用的元数据列表.完整的上下文可以在这里找到
祝好运
| 归档时间: |
|
| 查看次数: |
1133 次 |
| 最近记录: |