我已经阅读了很多关于上述主题的演示和纪录片。但在这里我想要一些不同的东西如果我创建一个名为A的常见谷歌驱动器,那么拥有我的应用程序的人应该能够阅读文档,并且我想使用文本视图在驱动器A中显示内容。 如果你知道答案,请告诉我这些步骤或方法。
非常感谢。 :)
答案 0 :(得分:0)
您可以查看此Google Drive Android API Demos,其中说明了使用Google Play Services中提供的界面与Drive服务对话的所有可能方式。
RetrieveContentsActivity.java
活动说明了如何检索和读取文件内容。然后,ListFilesInFolderActivity.java
活动说明了如何列出文件夹中的文件。
另外,请注意permission授予用户,组,域或世界对文件或文件夹层次结构的访问权。
希望这有帮助!
答案 1 :(得分:0)
按照以下代码获取保存在应用程序数据中的所有数据
private void listFiles() {
Query query =
new Query.Builder()
.addFilter(Filters.or(Filters.eq(SearchableField.MIME_TYPE, "text/html"),
Filters.eq(SearchableField.MIME_TYPE, "text/plain")))
.build();
getDriveResourceClient()
.query(query)
.addOnSuccessListener(this,
new OnSuccessListener<MetadataBuffer>() {
@Override
public void onSuccess(MetadataBuffer metadataBuffer) {
for (int i = 0; i <metadataBuffer.getCount() ; i++) {
retrieveContents(metadataBuffer.get(i).getDriveId().asDriveFile());
}
}
}
)
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Error retrieving files", e);
MainActivity.this.finish();
}
});
}
现在按照代码
获取已保存在Google驱动器中的所有数据。 public void retrieveContents(DriveFile file) {
Task<DriveContents> openFileTask =
getDriveResourceClient().openFile(file, DriveFile.MODE_READ_ONLY);
openFileTask.continueWithTask(new Continuation<DriveContents, Task<Void>>() {
@Override
public Task<Void> then(@NonNull Task<DriveContents> task) throws Exception {
DriveContents contents = task.getResult();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(contents.getInputStream()))) {
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line).append("\n");
}
Log.e("result ", builder.toString());
}
Task<Void> discardTask = MainActivity.this.getDriveResourceClient().discardContents(contents);
return discardTask;
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}