2013-08-05 3 views
0

Я делаю несколько файлов с помощью AsyncTask. Различный путь к файлу, хранящийся в arraylist, моя проблема заключается в том, как отправить все файлы в очередь (последовательно).Как выполнить несколько задач последовательно (очередь) в AsyncTask

enter image description here

@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

Пожалуйста, пост текущий код, который вы используете. – ObieMD5

ответ

4

Я делаю несколько передачи файлов с помощью AsyncTask

Это вряд ли будет хорошей идеей. Используйте IntentService, так что ваш процесс, вероятно, будет достаточно длинным для завершения передачи файлов. В качестве побочного преимущества IntentService имеет встроенную очередь — просто используйте отдельные startService() звонки для каждой передачи.

0

Может быть, я не получил свой вопрос, но почему бы не просто передать имена файлов и перебирать их, как это:

@Override 
protected Void doInBackground(String... files) { 
    for (String file : files) { 
    // handle each individual files here 
    } 
} 
Смежные вопросы