Cách khó nhưng đúng để làm điều này là tạo ContentProvider
tùy chỉnh của riêng bạn cho ứng dụng của bạn và cập nhật tất cả dữ liệu nhận được từ các dịch vụ web và thông báo đẩy tới ContentProvider
này . Khi Activity
trở lại nền trước, nó tự cập nhật dữ liệu mới được cung cấp bởi ContentProvider
.
Thật là khó vì tạo ContentProvider
tùy chỉnh là rất nhiều công việc. Đó là chính xác bởi vì nó phù hợp với hành vi của các ứng dụng di động và với kiến trúc Android:giả sử một người dùng kích hoạt một dịch vụ web hoặc một số tác vụ đòi hỏi nhiều tính toán, rồi loại bỏ ứng dụng; hoặc nói rằng một thông báo đẩy đến và yêu cầu dữ liệu của ứng dụng được cập nhật và hiển thị. Trong cả hai trường hợp, Activity
của ứng dụng s có thể không còn ở nền trước nữa mà là một Service
có thể được sử dụng để thực hiện một số hoạt động không phải giao diện người dùng. Bây giờ khi kết thúc thao tác đó, Service
thực hiện các thay đổi đối với dữ liệu thông qua ContentProvider
và khi người dùng kích hoạt lại ứng dụng, Activity
lấy dữ liệu mới của họ từ ContentProvider
.
Để trích dẫn hướng dẫn chính thức:
Nhà cung cấp nội dung là giao diện tiêu chuẩn kết nối dữ liệu trong một quy trình với mã chạy trong một quy trình khác.
Là một nhà phát triển, bạn nên luôn cho rằng người dùng có thể gọi một ứng dụng bất kỳ lúc nào và loại bỏ ứng dụng đó bất kỳ lúc nào. Không phân biệt Activity
ở phía trước hay không, dữ liệu của ứng dụng cần được cập nhật và duy trì một cách chính xác.
Các ứng dụng của riêng Google sử dụng ContentProvider
tùy chỉnh S. Gmail
ứng dụng cụ thể sử dụng ContentProvider
của nó để nhận email mới khi có kết nối mạng và hiển thị email ngoại tuyến. Facebook
, WhatsApp
&Twitter
Các ứng dụng Android cũng sử dụng ContentProvider
s.