Android - Google云端硬盘 - 无法从查询中获得结果

时间:2014-12-04 02:59:23

标签: android google-drive-api

我正在使用以下教程 https://google-developers.appspot.com/drive/android/queries?hl=fr-FR

在那里,它有以下代码

Query query = ...;
Drive.DriveApi.query(googleApiClient, query)
        .setResultCallback(new OnChildrenRetrievedCallback() {

    @Override
    public void onChildrenRetrieved(MetadataBufferResult result) {
        // Iterate over the matching Metadata instances in mdResultSet
    }
});

但是我找不到OnChildrenRetrievedCallback()方法。任何帮助深表感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码检索查询结果并迭代它们:

    Query query = new Query.Builder()
            .addFilter(Filters.eq(SearchableField.MIME_TYPE, "text/plain"))
            .build();
    Drive.DriveApi.query(getGoogleApiClient(), query)
            .setResultCallback(metadataCallback);
}

final private ResultCallback<MetadataBufferResult> metadataCallback = new
        ResultCallback<MetadataBufferResult>() {
    @Override
    public void onResult(MetadataBufferResult result) {
        if (!result.getStatus().isSuccess()) {
            showMessage("Problem while retrieving results");
            return;
        }
        mResultsAdapter.clear();
        mResultsAdapter.append(result.getMetadataBuffer());
    }
};

在Drive 4.X更新中删除了OnChildrenRetrievedCallback()类。 您仍然可以在Google的github中查看old sample implementation。更改是在this commit中进行的。上述实现可以在this page

中找到