2017-06-26 1 views
1

Ich stehe vor dem Problem beim Hochladen der Liste der Audio auf Google Drive.Wie lade ich alle Audiodateien in einem Verzeichnis auf das Google Drive hoch?

Ich kann die einzelne Audiodatei von einem Verzeichnis hochladen, aber ich habe versucht, die Liste der Audiodateien hochladen ist fehlgeschlagen.

Dies ist der Weg für die einzelne Audiodatei

final String path = new String(Environment.getExternalStorageDirectory() + "/CallLogs/Yaendi Yaendi.mp3"); 

Wie die alle Audiodateien im CallLogs Verzeichnis hochladen.

public void CreateFileOnGoogleDrive(DriveApi.DriveContentsResult result) { 

     final DriveContents driveContents = result.getDriveContents(); 

     // Perform I/O off the UI thread. 
     new Thread() { 
      @Override 
      public void run() { 
       // write content to DriveContents 


       OutputStream outputStream = driveContents.getOutputStream(); 

       final String path = new String(Environment.getExternalStorageDirectory() + "/CallLogs/Yaendi Yaendi.mp3"); 

       FileInputStream inputStream = null; 

       try { 
        inputStream = new FileInputStream(new File(path)); 
       } catch (FileNotFoundException e) { 
        showErrorDialog(); 
        e.printStackTrace(); 
       } 

       byte[] buf = new byte[1024]; 
       int bytesRead; 
       try { 
        if (inputStream != null) { 
         while ((bytesRead = inputStream.read(buf)) > 0) { 
          outputStream.write(buf, 0, bytesRead); 
         } 
        } 
       } catch (IOException e) { 
        showErrorDialog(); 
        e.printStackTrace(); 
       } 

MetadataChangeSet changeSet = new MetadataChangeSet.Builder() 
         .setTitle("callLog") 
         .setMimeType("audio/mpeg") 
         .setStarred(true).build(); 


       // create a file in root folder 
       Drive.DriveApi.getRootFolder(mGoogleApiClient) 
         .createFile(mGoogleApiClient, changeSet, driveContents).setResultCallback(fileCallback); 

      } 
     }.start(); 

     Toast.makeText(getActivity(), "Created Successfully", Toast.LENGTH_SHORT).show(); 
    } 

Der obige Code dient zum Hochladen der einzelnen Audiodatei auf Google Drive. Bitte helfen Sie mir, wie Sie alle Dateien auf das Google-Laufwerk hochladen.

+0

Sie können diese [SO post] (https://stackoverflow.com/a/33520802/5995040) und [Mehrere Dateien auf Google Drive hochladen] (https://stackoverflow.com/a/23946030/) überprüfen. 5995040), bei dem es darum geht, eine Variable einzurichten, um alle Dateien aufzulisten, die Sie hochladen müssen, und dann eine Schleife zu erstellen, während eine Datei hochgeladen werden soll. Sie können auch eine Batch-Anforderung zum Erstellen/Hochladen von Dateien (über asynctask) wie in diesem [post] (https://stackoverflow.com/a/35005843/5995040) beschrieben ausprobieren. Hoffe das hilft. –

Antwort

0

Platzieren Sie Ihren Code in AsyncTask's doInBackground() Methode.

Verwandte Themen