Tôi gặp vấn đề về khái niệm liên quan đến lớp học AsyncTask
. Chúng tôi sử dụng AsyncTask
để giao diện người dùng chính không bị chặn. Nhưng giả sử, tôi muốn lấy một số dữ liệu từ bộ nhớ của thiết bị và tôi sử dụng lớp AsyncTask cho việc này. Dòng tương ứng của mã sẽ như sau (giả sử kiểu dữ liệu trả về là String):Trả lại dữ liệu từ AsyncTask mà không chặn UI
//code
String data = new ExtendedAsyncTask().execute(param1, param2).get();
//use this returned value.
Sẽ không có người dòng ở trên chặn các giao diện người dùng, đánh bại mục đích của việc sử dụng các AsyncTask
? Nếu có, thì làm cách nào để nhận dữ liệu có liên quan mà không chặn giao diện người dùng? Tôi muốn thêm rằng dòng mã tiếp theo sẽ cần dữ liệu này để thực hiện một số tác vụ và do đó phụ thuộc vào giá trị trả lại.
Cảm ơn
AsyncTask giải thích bởi google: https://developer.android.com/guide/components/processes-and-threads.html#AsyncTask –