android - 如何使用 DriveApi.MetadataBufferResult?

标签 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();
                }
            };

简短版本:我想在某人的云端硬盘帐户的根目录中搜索标题为“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(); }
  }
}

输入'MD。 ...',您将获得可用元数据列表。可以找到完整的上下文 here

祝你好运

关于android - 如何使用 DriveApi.MetadataBufferResult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32151396/

相关文章:

android - android中EditView中的可点击链接和复制/粘贴菜单

android - 自定义模式类中的 Parcelable 抛出 StackOverflow 错误

python - 如何在 Google Drive API 中按路径查找文件夹 ID?

javascript - 如何使用服务帐户和 Google Drive API 解决 403 错误

unity-game-engine - Google Play 服务中基于玩家排名/技能的玩家匹配

android - 使用亚马逊设备的 Google Analytics V4

android - 警报对话框不工作

android - 与 android.support.v7.appcompat.R.java 下的 search_plate 重复的资源 ID

php - Google Drive API 日期/时间

android - "This app won' t 运行,除非您更新 google play 服务"警报