2012-11-21 24 views
0

是否可以將文件傳遞給AsyncTask?喜歡這個?是否有可能在Android中傳遞文件到AsyncTask?

public class UploadImagesTask extends AsyncTask<String, String, File> { 
    @Override 
    protected File doInBackground(String... params) { 

我會這樣做嗎?

params[2] 
+0

差不多,但你希望你的params類型是文件而不是字符串,結果是有用的。傳遞URL是一種更好的方法,並記錄在[SO] – Merlin

+0

上的其他問題您可以將構造函數添加到您的UploadImagesTask,該文件作爲參數,然後在doInBackground中用作私有字段 –

回答

5

不是這樣,沒有。

如果你想通過StringFile,你需要做這樣的事情,並且相信你自己不要搞錯論據。

public class DoThing extends AsyncTask<Object, String, File> { 
    @Override 
    protected File doInBackground(Object... params) { 
     String stringy = (String) params[0]; 
     File file = (File) params[1]; 
     // do hard work 
     return file; 
    } 
} 

因爲所有你的論點延長Object,當你調用的東西,它會是這樣的:

String aString = stringGettingMethod(); 
File aFile = fileGettingMethod(); 
new DoThing().execute(aString, aFile); 

或者,你可以通過任何你通過構造函數的參數要英寸

+0

我的execute()調用的代碼如何。 –

+0

@EthanAllen編輯包含一個例子。 – Argyle

+0

謝謝你,完美。我現在完全明白了! –

相關問題