Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 将多个文件上载到Google Drive?_Java_Android - Fatal编程技术网

Java 将多个文件上载到Google Drive?

Java 将多个文件上载到Google Drive?,java,android,Java,Android,在这里,我尝试在google drive应用程序文件夹中上载多个文件: @Override protected Boolean doInBackground(DriveFile...params) { Drive.DriveApi.requestSync(mGoogleApiClient).await(); DriveFile file = params[0]; try { DriveApi.DriveContentsResult driveConte

在这里,我尝试在google drive应用程序文件夹中上载多个文件:

@Override
protected Boolean doInBackground(DriveFile...params) {

    Drive.DriveApi.requestSync(mGoogleApiClient).await();

    DriveFile file = params[0];
    try {
        DriveApi.DriveContentsResult driveContentsResult = file.open(
            mGoogleApiClient, DriveFile.MODE_WRITE_ONLY, null).await();
        if (!driveContentsResult.getStatus().isSuccess()) {
            return false;
        }
        DriveContents driveContents = driveContentsResult.getDriveContents();

        FileInputStream fileInputStream = null;
        try {

            fileInputStream = new FileInputStream(DbHelper.databasePath);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);

        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(driveContents.getOutputStream());

        /*reading and writing data to and from file*/
        int n = 0;
        byte[] data = new byte[8 * 1024];
        try {
            while ((n = bufferedInputStream.read(data)) > 0) {

                bufferedOutputStream.write(data, 0, n);
            }

            bufferedOutputStream.flush();
            bufferedOutputStream.close();

        } catch (Exception e) {
            e.printStackTrace();
        }


        com.google.android.gms.common.api.Status status =
            driveContents.commit(mGoogleApiClient, null).await();
        return status.getStatus().isSuccess();
    }
    return false;
}

当尝试上载两个文件时,
doInBackground
方法只被调用一次,并且只有一个文件被上载,这是文件数组列表中的最后一个文件。

您需要发布调用doInBackground的完整代码。问题在于这部分代码

 backupBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            createFolderOnGoogleDrive();
            multipleFilesArrayList = listFilePath();
            createFileAsyncTask = new CreateFileAsyncTask();
            multipleFilestoAsynchTask = multipleFilesArrayList.get(i);
            createFileAsyncTask.execute(multipleFilesArrayList);

        });          }

您需要发布调用doInBackground的完整代码。问题在于这部分代码

 backupBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

            createFolderOnGoogleDrive();
            multipleFilesArrayList = listFilePath();
            createFileAsyncTask = new CreateFileAsyncTask();
            multipleFilestoAsynchTask = multipleFilesArrayList.get(i);
            createFileAsyncTask.execute(multipleFilesArrayList);

        });          }

你能编辑一下你的帖子以澄清一下你的问题吗?你能编辑一下你的帖子以澄清一下你的问题吗?