1) Tôi không đánh giá thấp lý do tại sao các mẫu của Android hầu như sử dụng AsyncTasks như các lớp bên trong riêng tư. Tôi biết nó là thuận tiện để làm cho nó bên trong lớp học nhưng nó làm cho tập tin lớp học của chúng tôi dài hơn và khó đọc. ShelvesActivity of Shelves ứng dụng mẫu có thậm chí 845 dòng. Bạn không nghĩ rằng đó là một thiết kế xấu hoặc xây dựng xấu?Nếu AsyncTask không phải là một lớp bên trong ... - một số câu hỏi
2) Nếu tôi tạo lớp bên ngoài ScanStorageTask của mình, tôi phải chuyển sang điều gì? toàn bộ Hoạt động hoặc chỉ sử dụng các tiện ích con?
Ví dụ: Nếu tôi phải sử dụng WebView, Nút và ProgressBar trong ScanStorageTask. tôi sử dụng này:
ScanStorageTask task = new ScanStorageTask(this); // "this" is activity reference, then get the webView, button, progressBar from it.
hay này:
ScanStorageTask task = new ScanStorageTask(webView, button, progressBar);
Bạn nói đúng, qua các yếu tố giao diện người dùng rất phiền hà. Tôi thực sự muốn làm điều gì đó để tách AsyncTask khỏi Hoạt động. Cảm ơn về ý tưởng mẫu người nghe. – Emerald214
Tôi muốn bạn có một mẫu mã số – CodyBugstein
@Imray Hãy cho tôi biết nếu điều này có ích. Tôi đã tạo lớp này và giờ tôi sẽ mở rộng nếu cho tất cả các tác vụ không đồng bộ của mình: https://github.com/aguynamedrich/beacon-utils/blob/master/Library/src/us/beacondigital/utils/tasks/Task.java – Rich