0

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;
    }
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 に答える