Thứ Năm , Tháng Mười Một 23 2017
Lập trình android / VIDEO BÀI GIẢNG / Lập trình Android / Thực hiện nhiệm vụ không đồng bộ thông qua IntentService trong Android

Thực hiện nhiệm vụ không đồng bộ thông qua IntentService trong Android

Trong những bài học lap trinh android trước, các bạn đã được học làm thế nào để bắt đầu một Service sử dụng phương pháp startService() và ngừng một Service bằng cách sử dụng phương pháp stopService(). Bạn cũng đã thấy làm thế nào nên thực hiện kéo dài nhiệm vụ trên một chủ đề riêng biệt – không phải là cùng một chủ đề như các hoạt động kêu gọi. Điều quan trọng là cần lưu ý rằng một khi Service của bạn đã thực hiện một nhiệm vụ hoàn thành, nó phải được dừng lại càng sớm càng tốt để không cần thiết nắm giữ lên nguồn tài nguyên có giá trị.

Đó là lý do tại sao bạn sử dụng stopSelf() để dừng Service khi công việc đã được hoàn thành khi lập trình android. Thật không may, rất nhiều bạn thường quên để ngừng các Service khi nó được thực hiện activity của mình. Để dễ dàng tạo ra một Service chạy một task không đồng bộ và ngừng chính nó khi nó được thực hiện, bạn có thể sử dụng lớp IntentService.

Lớp IntentService là một lớp cơ sở cho Service xử lý các yêu cầu không đồng bộ theo yêu cầu. Nó được bắt đầu giống như một Service bình thường và nó thực hiện nhiệm vụ của mình trong một chủ đề và chấm dứt chính nó khi công việc hoàn tất. Sau đây chúng tôi sẽ trình bày cách sử dụng lớp IntentService.

– Sử dụng cùng một dự án tạo ra trong xuyên suốt phần học, thêm một lớp mới có tên tập tin MyIntentService.java.

– Trong file MyIntentService.java:

– Thêm các câu lệnh còn thiếu vào tập tin AndroidManifest.xml:

– Thêm các câu lệnh còn thiếu vào tập tin  MainActivity.java:

– Ấn nút F11 để debug ứng dụng Android .

– Ấn nút Start Service. Sau đó sau 5 giây, bạn có thể quan sát các câu lệnh sau:

Trong cửa sổ LogCat hiện như sau:

Cách hoạt động của ứng dụng

Đầu tiên bạn định nghĩa lớp MyIntentService, mà mở rộng các lớp thay vì các lớp  IntentService:

Bạn cần thiết để thực hiện một constructor cho lớp và gọi lớp siêu của nó với tên của các Service dự định (thiết lập nó với một string):

Sau đó, bạn thực hiện các phương pháp onHandleIntent(), được thực hiện trên một sợi nhân viên:

Phương pháp onHandleIntent() là nơi mà bạn đặt mã code cần để thực thi một chủ đề riêng, như tải một file từ máy chủ. Khi mã đã được hoàn toàn thực thi, thread được chấm dứt và các Service được tự động dừng lại.

>> Tải dữ liệu nhị phân trong lập trình Android

>> Truy cập vào các dịch vụ Web trong Android

—————- || —————-
Trung tâm Đào tạo lập trình Mobile với các Khóa học lập trình Android tại Hà Nội !

[Total: 1    Average: 4/5]

Bạn nên xem

[Android cơ bản] 19b. Lấy vị trí hiện tại

Để lấy vị trí hiện tại, hãy tạo một client location là đối tượng LocationClient, kết …

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook chat Vietpro