2017-01-14 114 views
1

在这里,我要上传的谷歌驱动的应用程序文件夹中的多个文件:将多个文件上传到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方法被调用只有一次,只有一个文件被上传这是最后一次在文件中的一个ArrayList 。

+1

请问您是否可以编辑您的帖子以澄清您的问题? –

回答

0

您需要发布调用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); 

     });   } 
相关问题