我正在使用AsyncTask进行多个文件传输。 存储在arraylist中的不同文件路径,我的问题是如何发送队列中的所有文件(顺序)。
@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; }
答案 0 :(得分:4)
我正在使用AsyncTask进行多个文件传输
这不太可能是一个好主意。使用IntentService
,以便您的流程可能足够长,以便完成文件传输。作为附带好处,IntentService
有一个内置队列 - 只需对每次转移使用单独的startService()
调用。
答案 1 :(得分:0)
也许我没有得到你的问题,但为什么不传递文件名并迭代它们,如下所示:
@Override
protected Void doInBackground(String... files) {
for (String file : files) {
// handle each individual files here
}
}