我在Android設備上使用Google Drive API。使用ASyncTask從Android上的Google Drive API文件中讀取
我需要將Google雲端硬盤上文件的內容轉換爲字符串。簡單的東西像
String dbData = driveObject.downloadFileToString("db_export.txt");
我正在實施一個「GoogleDrive」對象。我需要做到這一點,沒有任何的任務和線程和回調混亂。但是,我做不到。
下面是一個例子:我實現了一個名爲「findFileByPath」的方法,該方法返回文件的文件ID,該文件的路徑名作爲參數給出。然而,Android神已經強制任何對此的調用 - 因爲它處理網絡活動 - 發生在線程或AsyncTask中。問題是任何等待任務完成的暫停都會導致Google Drive API線程暫停。所以....如果我這樣做:
FindFileWithAsyncTask ffwat = new FindFileWithAsyncTask();
ffwat.execute(filePath);
File f = ffwat.get(5, TimeUnits.SECONDS);
其中調用「findFileByPath」在一個名爲「FindFileWithAsyncTask」的AsyncTask完成它只是掛起的一切。 Google Drive API僅在「get」超時時纔會繼續。
幫助!有得到是做到這一點的方式,可以避免 - 或掩蓋 - 所有的異步BS。
任何線索?謝謝!
我的答案解決了您的問題嗎? – Laerte 2015-02-06 15:54:27