0

我正在使用 AsyncTask 进行多个文件传输。存储在数组列表中的不同文件路径,我的问题是如何(按顺序)发送队列中的所有文件。

在此处输入图像描述

@Override
protected void onResume() {
  // TODO Auto-generated method stub
  super.onResume();
  /*
   * Some logic
   */
  new XYZAsyncTask (mString).executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
}

私有类 XYZAsyncTask 扩展 AsyncTask {

    ArrayList<String> mArray;

    @Override
    protected Void doInBackground(ArrayList... params) {
        /*
         * 
         * Some logic
         */
        checkSizeAndSendFile();
        return null;
    }
4

2 回答 2

4

我正在使用 AsyncTask 进行多个文件传输

这不太可能是个好主意。使用IntentService, 以便您的过程可能足够长以完成文件传输。作为附带的好处,IntentService它有一个内置队列——startService()每次传输只需使用单独的调用。

于 2013-08-05T19:07:22.660 回答
0

也许我没有得到你的问题,但为什么不直接传递文件名并遍历它们,如下所示:

@Override
protected Void doInBackground(String... files) {
    for (String file : files) {
    // handle each individual files here
    }
}
于 2013-08-05T19:09:09.310 回答