5

Điều tôi đang tìm kiếm là tìm cách quản lý một số luồng trong Asyntask.Làm thế nào để quản lý số lượng các chủ đề bên trong Sync Task

Tôi cần đồng bộ hóa cơ sở dữ liệu cục bộ của mình với các bản cập nhật máy chủ. Đây có thể là dữ liệu lớn có thể được truy xuất bằng phân trang.

Ai đó có thể cho tôi biết cách ưu tiên để quản lý tạo luồng trong vòng lặp bên trong asyntask để nó có thể hiển thị Hộp thoại tiến trình cho đến khi tất cả chuỗi được hoàn tất.

Tôi hơi lo lắng về đối tượng cơ sở dữ liệu cục bộ & đồng bộ hóa trong khi thực thi các luồng khác nhau để tải xuống dữ liệu từ máy chủ & lưu/cập nhật vào cơ sở dữ liệu cục bộ.

Lưu ý: Tôi không thể tải xuống tất cả dữ liệu từ máy chủ trong một cuộc gọi máy chủ duy nhất.

Xin cảm ơn trước.

Trả lời

2

Nếu hoạt động chạy dài, bạn nên sử dụng IntentService thay vì AsyncTask. IntentService là UI độc lập, do đó bạn có thể chạy nó ở chế độ nền. Để cập nhật giao diện người dùng, bạn có thể gửi mục đích phát sóng. Tôi sử dụng IntentService để đồng bộ hóa DB. Tôi nhận dữ liệu từ máy chủ, trong khi phân tích cú pháp tôi tạo các cập nhật hàng loạt và sau đó cập nhật DB cục bộ bằng một bản cập nhật hàng loạt.

+0

Nhưng làm cách nào tôi có thể giảm thời gian gọi lặp lại của máy chủ. làm thế nào tôi có thể thực hiện nhiều cuộc gọi cùng một lúc. –

0
Try this ,  

You can set a static variable that is initialized to zero, and it is incremented 
by each thread .check this variable in asynctask,if it is equal to the no: of threads 
in your class finish it.Simple But works 
Các vấn đề liên quan