Đây là thỏa thuận: Tôi có một ứng dụng Android cần gọi dịch vụ web sau mỗi giây X (hiện tại là 60 giây). Ứng dụng này có nhiều tab và tất cả các tab này cần phải tương tác với chính dữ liệu. Một là một MapView, một là một ListView và sau đó thứ ba là không liên quan nhưng cũng sẽ cần phải có được một số dữ liệu toàn cầu cuối cùng. Vấn đề là tôi muốn hoạt động chính của tôi có một chuỗi chạy trong nền, nhận được kết quả và sau đó hướng dẫn cả hai hoạt động của trẻ trong TabHost để tự cập nhật dữ liệu mới nhất. Ngoài ra, khi người dùng nhấp vào các tab và hoạt động onCreate/onResume, tôi cũng muốn buộc vẽ lại bằng cách lấy dữ liệu mới nhất từ hoạt động chính. Tôi thực sự thua lỗ ở đây. Tôi đã thử điều này với một dịch vụ và một số phương pháp tĩnh ghetto để chuyển một phiên bản Hoạt động tới Dịch vụ để gọi các chức năng cụ thể để cập nhật lượt xem của họ bất cứ khi nào bộ hẹn giờ bị sa thải, nhưng sự chậm lại khá tệ và mã chỉ xấu xí xấu xí . Bất kỳ đề xuất?Cách tốt nhất để thực hiện liên lạc hoạt động liên thông trong ứng dụng Android TabHost
chỉnh sửa: Vì vậy, tôi đã thực hiện nó như một chuỗi định thời gian trong hoạt động tabhost và sau đó tôi có chuỗi định thời gian trong mỗi hoạt động con sau đó lấy dữ liệu (theo kiểu đồng bộ) và cập nhật bản đồ/danh sách của chúng. Nó nhanh hơn nhiều nhưng vẫn cảm thấy hơi hack-ish, đặc biệt là phần mà tôi gọi một chức năng tùy chỉnh trong hoạt động cha mẹ như vậy:
((MainActivity)getParent()).getNearbyMatches();
này sẽ thêm một phần tử của khớp nối mạnh rằng tôi không hoàn toàn vui mừng với, nhưng từ một quan điểm hiệu suất nó tốt hơn nhiều so với nó được. Tôi đánh giá cao các câu trả lời đã được đưa ra và sẽ thực hiện một chút nghiên cứu về mặt trước của nhà cung cấp nội dung nhưng tôi không chắc chắn tôi muốn quay lại mô hình dịch vụ.
Tôi ước mình cũng biết cách làm điều này!+1 – cakeforcerberus