Vì vậy, tôi đang làm việc trên bộ giải mã mã vạch, khi chúng tôi có mã vạch chuyển tới API bội số qua internet để giải mã những gì vừa được quét. Vấn đề là tôi phải liên kết một số phân tích cú pháp XML với nhau, và tôi không biết liệu tôi có làm đúng không.Android AsyncTask bên trong AsyncTask
Vì vậy, khi mã vạch được quét, chương trình của tôi gọi ASyncTask chạy qua API để truy xuất tên sản phẩm. Khi nó có tên, tôi muốn nó gọi một ASyncTask khác. Tôi biết điều này là có thể bằng cách instantiating một ASyncTaks trong các onPostExecute()
của khác, nhưng, tôi nghĩ rằng điều này là sai, bởi vì nó giống như hộp trong hộp. Vì vậy, không phải là nó có thể/tốt hơn để khởi tạo ASyncTask thứ hai của tôi bên trong hoạt động chính của tôi, và làm cho nó đợi cho đến khi ASyncTask đầu tiên của tôi kết thúc?
(tiếng Anh không phải là ngôn ngữ chính của tôi, tôi hy vọng tôi đã tự làm rõ).
Lý do sử dụng 2 tác vụ là gì? tại sao không làm những gì bạn muốn trong các nhiệm vụ đầu tiên doInBackground? – Renard
Chúng ta không nên làm cho niềm vui của ngôn ngữ của một người (tiếng Anh) vì nó có thể không phải là ngôn ngữ chính của mình – waqaslam
@Renard nó có vẻ quá nhiều lộn xộn để cho tất cả mọi thứ trong doInBackground. ASyncTask đầu tiên của tôi có thể trả về các kết quả khác nhau mà trước tiên cần phải được xử lý, và sau đó, theo kết quả, làm một số phân tích cú pháp hơn. Vì vậy, khởi chạy ASyncTask khác cho phép tôi chia mã trong nhiều bên và làm cho nó rõ ràng hơn. – MagicMicky