Advertisement
Guest User

Untitled

a guest
Jul 19th, 2013
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.52 KB | None | 0 0
  1.     // google
  2.     static final int REQUEST_ACCOUNT_PICKER = 1;
  3.     static final int REQUEST_AUTHORIZATION = 2;
  4.     static final int CAPTURE_IMAGE = 3;
  5.     private GoogleAccountCredential credential;
  6.     private static Uri fileUri;
  7.     private static Drive service;
  8.  
  9.     public void onLoginGoogle(View v) {
  10.         credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
  11.         startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
  12.     }
  13.  
  14.     public void onUploadGoogle(View v) {
  15.         Thread t = new Thread(new Runnable() {
  16.             @Override
  17.             public void run() {
  18.                 try {
  19.                     // File's binary content
  20.                     java.io.File fileContent = new java.io.File("/sdcard/a.jpg");
  21.                     FileContent mediaContent = new FileContent("image/jpeg", fileContent);
  22.  
  23.                     // File's metadata.
  24.                     com.google.api.services.drive.model.File body = new com.google.api.services.drive.model.File();
  25.                     body.setTitle(fileContent.getName());
  26.                     body.setMimeType("image/jpeg");
  27.  
  28.                     com.google.api.services.drive.model.File file = service.files().insert(body, mediaContent).execute();
  29.                     if (file != null) {
  30.                         showToast("Photo uploaded: " + file.getTitle());
  31.                         // startCameraIntent();
  32.                     }
  33.                 } catch (UserRecoverableAuthIOException e) {
  34.                     startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
  35.                 } catch (IOException e) {
  36.                     e.printStackTrace();
  37.                 }
  38.             }
  39.         });
  40.         t.start();
  41.     }
  42.  
  43.     public void onDownloadGoogle(View v) {
  44.         downloadFile();
  45.     }
  46.  
  47.     private void downloadFile() {
  48.         Thread thread = new Thread(new Runnable() {
  49.  
  50.             @Override
  51.             public void run() {
  52.                 try {
  53.                     com.google.api.services.drive.model.File file = service.files().get("0B-Iak7O9SfIpYk9zTjZvY2xreVU").execute();
  54.                     // FileList file = service.files().list().execute();
  55.                     // List<com.google.api.services.drive.model.File> fileList =
  56.                     // file.getItems();
  57.                     // com.google.api.services.drive.model.File fileItem =
  58.                     // fileList.get(0);
  59.                     // Log.d("FileID" , fileItem.getId());
  60.                     // Log.d("Count", "Retreived file list");
  61.                     if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
  62.                         HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute();
  63.                         InputStream inputStream = resp.getContent();
  64.                         // writeToFile(inputStream);
  65.                     }
  66.                 } catch (IOException e) {
  67.                     Log.e("WriteToFile", e.toString());
  68.                     e.printStackTrace();
  69.                 }
  70.             }
  71.         });
  72.         thread.start();
  73.     }
  74.  
  75.     List<File> mGFile;
  76.  
  77.     public void onListGoogle(View v) {
  78.         AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
  79.  
  80.             @Override
  81.             protected String doInBackground(Void... arg0) {
  82.                 // TODO Auto-generated method stub
  83.                 try {
  84.                     mGFile = retrieveAllFiles();
  85.                     int i = 0;
  86.                 } catch (IOException e) {
  87.                     // TODO Auto-generated catch block
  88.                     e.printStackTrace();
  89.                 }
  90.                 return null;
  91.             }
  92.  
  93.             protected void onPostExecute(String result) {
  94.                 Log.d("Dolphin get glist", String.valueOf(mGFile.size()));
  95.             };
  96.         };
  97.         task.execute();
  98.         Log.d("Dolphin counting", "aa");
  99.     }
  100.  
  101.     private List<File> retrieveAllFiles() throws IOException {
  102.         List<File> result = new ArrayList<File>();
  103.         Files.List request = service.files().list();
  104.  
  105.         do {
  106.             try {
  107.                 FileList files = request.execute();
  108.  
  109.                 result.addAll(files.getItems());
  110.                 request.setPageToken(files.getNextPageToken());
  111.             } catch (IOException e) {
  112.                 System.out.println("An error occurred: " + e);
  113.                 request.setPageToken(null);
  114.             }
  115.         } while (request.getPageToken() != null && request.getPageToken().length() > 0);
  116.  
  117.         return result;
  118.     }
  119.  
  120.     private Drive getDriveService(GoogleAccountCredential credential) {
  121.         return new Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build();
  122.     }
  123.  
  124. @Override
  125.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  126.  
  127.         switch (requestCode) {
  128.         case REQUEST_ACCOUNT_PICKER:
  129.             if (resultCode == RESULT_OK && data != null && data.getExtras() != null) {
  130.                 String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
  131.                 if (accountName != null) {
  132.                     credential.setSelectedAccountName(accountName);
  133.                     service = getDriveService(credential);
  134.                 }
  135.             }
  136.             break;
  137.         case REQUEST_AUTHORIZATION:
  138.             if (resultCode == Activity.RESULT_OK) {
  139.                 // saveFileToDrive();
  140.                 Toast.makeText(this, "Login complete", Toast.LENGTH_SHORT);
  141.             } else {
  142.                 startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_PICKER);
  143.             }
  144.             break;
  145.         }
  146.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement