當用戶點擊按鈕我調用這個方法,我想做多個AsyncTask調用上傳不同的東西。 (一些文字,照片,然後是視頻)。我執行第一個方法罰款(文本),但然後我不能開始下一個調用/執行(backgroundTask.execute),因爲第一個沒有完成。多次執行AsyncTask? [Android]
我的問題:
我怎麼能說我的AsyncTask,所以我可以一次上傳的一切嗎? (點擊一個按鈕)
我想有它設置等等onPostExecute我更新一個變量,然後在這個方法中,我有一個簡單的,如果看到檢查語句,如果該變量已經改變,但它顯然不是招」工作。
我是否應該等待每個人完成開始下一個或我應該在同一時間?
的Android代碼:
public void UploadEverything(String encodedImage){
//Gets the email form the user
SharedPreferences UserCredentials = getSharedPreferences("UserCredentials", Context.MODE_PRIVATE);
ProductOwnerEmail = UserCredentials.getString("UserEmail", "");
String method = "ProductDetails";
BackgroundTask backgroundTask = new BackgroundTask(this);
backgroundTask.execute(method, ProductOwnerEmail, ProductName, Seller_Category, ProductKeyCode, DescriptionPoint, DescriptionPoint2, DescriptionPoint3);
if (BackgroundTask.DetailsUploaded.equals("true")) {
String PhotoMethod = "Photo";
//BackgroundTask backgroundTask = new BackgroundTask(this);
backgroundTask.execute(PhotoMethod, ProductOwnerEmail, ProductName, encodedImage);
}
if(BackgroundTask.PhotoUploaded.equals("true")) {
String SevenSecVideoMethod = "7secVideo";
//BackgroundTask backgroundTask = new BackgroundTask(this);
backgroundTask.execute(SevenSecVideoMethod, ProductOwnerEmail, ProductName, String.valueOf(selectedPath));
}
Toast.makeText(SellerHomePage.this, "Product has been uploaded!", Toast.LENGTH_SHORT).show();
}
你是什麼意思你「不能開始下一個」?有沒有崩潰?什麼阻止你? –
完成後,無法再次啓動同一個線程。您需要創建AsyncTask的另一個對象並調用它的execute方法。 –
爲什麼你要多次調用AsyncTask,如果你可以一次發佈所有東西? – Apurva