1

是否可以将文件传递给 AsyncTask?像这样?

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

我会通过这样做访问该文件吗?

params[2]
4

1 回答 1

7

不是那样的,不。

如果你想传入 aString和 a File,你需要做这样的事情,并相信自己不会搞砸争论。

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;
    }
}

由于你所有的参数都 extend Object,当你调用这个东西时,它看起来像这样:

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

或者,您可以通过构造函数参数传递您想要的任何内容。

于 2012-11-21T01:12:08.253 回答