sách gpt4 ai đã đi

Mở rộng AsyncTask

In lại Tác giả: IT Lao Gao Thời gian cập nhật: 2023-10-28 20:43:53 32 4
mua khóa gpt4 Nike

Trong ứng dụng Android của tôi, tôi có làmTrongBối cảnh Thực hiện một số thao tác trong phần mở rộng AsyncTaskLớp học. (Tôi không sử dụng bất kỳ UI nào trong lớp này)

  1. Đây có phải là cách sử dụng AsyncTask đúng không?
  2. Nếu vậy, tôi có thể mở rộng AsyncTask không?
  3. Phần mở rộngKhông đồng bộSự khác biệt là gì? Và AsyncTask

Ví dụ mã:

lớp công khai MessagePooling mở rộng AsyncTask
{
@Ghi đè
được bảo vệ Void doInBackground(Void... params)
{
trong khi (!isCancelled())
{
//Lấy dữ liệu từ máy chủ
SystemClock. ngủ(1000);
}
trả về giá trị null;
}
}

hoặc:

lớp công khai MessagePooling mở rộng AsyncTask
{
@Ghi đè
Đối tượng được bảo vệ doInBackground(Object... params)
{
trong khi (!isCancelled())
{
//Lấy dữ liệu từ máy chủ
SystemClock. ngủ(1000);
}
trả về giá trị null;
}
}

Cảm ơn

1 Câu trả lời

Không đồng bộ Các lớp có thể được coi như một cơ chế luồng rất tiện lợi. Nó cung cấp cho bạn một số công cụ mà các luồng Java đơn giản không có, chẳng hạn như hủy các hoạt động dọn dẹp. Bạn không cần phải thực hiện bất kỳ giao diện người dùng nào ở chế độ nền. Bạn có thể thực hiện điều này một cách đơn giản bằng cách viết nó dưới dạng một lớp ẩn danh, như thế này:

    mới AsyncTask(){
@Ghi đè
được bảo vệ Void doInBackground(Integer... params) {
// **Mã số**
trả về giá trị null;
}
}.thực thi(1, 2, 3, 4, 5);

Nó sẽ thực thi hàm bạn đưa vào trên một luồng nền với các tham số được cung cấp. làmTrongBối cảnh bất kỳ nội dung nào của. Tương tự như vậy, bạn có thể chỉ cần sử dụng Hư vô Nó được thực thi mà không cần tham số.

Lợi ích duy nhất tôi có thể nghĩ đến khi tạo luồng theo cách này là nó giúp ích cho việc bảo trì trong tương lai. Trong một số trường hợp, bạn có thể muốn sửa đổi điều gì đó cần có trên luồng UI, khi đó bạn sẽ ghi đè các phương thức khác. Những trường hợp khác là bạn không làm đủ để biện minh cho việc viết một lớp khác, vì vậy chỉ cần tạo một lớp động và hoàn thành nó.

biên tập:

Câu trả lời số 3: Về cơ bản thì chúng giống nhau. Hư vô Đối tượng là một đối tượng Java, giống như bất kỳ đối tượng nào khác. Bạn đã không sử dụng Hư vô, vì vậy không quan trọng bạn sử dụng cái gì thay thế. chỉ một Không đồng bộ Hợp đồng cần phải được thông qua trong ba loại lớp, theo mặc định chúng là Sự vật , đây là lớp cơ sở cho mọi thứ.

Liên quan đến java - mở rộng AsyncTask, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11194663/

32 4 0
CNTT Lao Gao
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com