Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android谷歌硬盘发送/创建文件_Java_Android_File_Google Drive Api - Fatal编程技术网

Java Android谷歌硬盘发送/创建文件

Java Android谷歌硬盘发送/创建文件,java,android,file,google-drive-api,Java,Android,File,Google Drive Api,有人能给我举个简短的例子,说明如何将文件从Android手机发送到Google Drive吗 或者创建包含内容的新文件并发送到驱动器 www网站上的谷歌示例代码有错误或来自新API,但示例应用程序使用旧API 谷歌示例: File fileMetadata = new File(); fileMetadata.setTitle("photo.jpg"); java.io.File filePath = new java.io.File("files/photo.jpg"); FileConten

有人能给我举个简短的例子,说明如何将文件从Android手机发送到Google Drive吗

或者创建包含内容的新文件并发送到驱动器

www网站上的谷歌示例代码有错误或来自新API,但示例应用程序使用旧API

谷歌示例:

File fileMetadata = new File();
fileMetadata.setTitle("photo.jpg");
java.io.File filePath = new java.io.File("files/photo.jpg");
FileContent mediaContent = new FileContent("image/jpeg", filePath);
File file = driveService.files().insert(fileMetadata, mediaContent)
        .setFields("id")
        .execute();
但是像setTitle()和insert()这样的方法不存在吗

我的代码:

  HttpTransport transport = AndroidHttp.newCompatibleTransport();
            JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
            mService = new com.google.api.services.drive.Drive.Builder(
                    transport, jsonFactory, credential)
                    .setApplicationName("Drive API Android Quickstart")
                    .build();

mService.files().create(new File().setName("TITLE").setMimeType("text/csv")).execute();
这将创建名为TITLE和正确MimeType的文件


但是如何发送普通java.io.File或如何为drive.model.File创建内容???

在您的设备上安装Google drive应用程序。我想你已经有了

之后,使用Intent.ACTION\u OPEN\u文档让用户从驱动器中选择一个文件,然后您可以读取和写入该文件


或者使用Intent.ACTION\u CREATE\u DOCUMENT让用户在驱动器上创建一个文件名,您可以将文件复制到该驱动器。

您的代码片段很接近,但它与以下文件有一些区别:

  • 使用
    setName
    代替
    setTitle
  • 将文件的父级设置为
    appDataFolder
  • 使用
    driveService.files()。创建
    而不是
    driveService.files()。插入
您需要添加

    implementation 'com.google.apis:google-api-services-drive:v3-rev20191108-1.30.3'
在你的毕业典礼上。然后在你们班上

import com.google.api.services.drive.model.File;

用户将不会与此进行交互。例如,用户只会在EditText中写入一些信息,然后我必须完成这些信息并将其以文件形式发送到Google Drive。但他们在新样本中没有使用GetGoogleAppClient(),或者我错了吗?我记得旧Api中的getGoogleAppClient(),但现在想使用新的。看起来你是对的,Api已经更改了。我会更新我的答案。差不多。在我的例子中,filePath不存在/created.java.io.File myFile=new java.io.File(“/data/user/0/com.PACKAGE/files/config.json”);与此文件一起存在。所以经过一些额外的修改和你的帮助,我得到了我想要的。Thx接受。
import com.google.api.services.drive.model.File;