2012-06-04 39 views
6

Tôi đang cố gắng tìm hiểu xem tôi có cần sử dụng bộ điều hợp đồng bộ hóa trong ứng dụng Android của mình hay không.Khi nào/không sử dụng bộ điều hợp đồng bộ

thủ tục tiếp cận Ví dụ:

  1. (VỚI phủ sóng mạng) Những thay đổi được thực hiện bởi một người dùng sẽ tự động được gửi đến máy chủ.
  2. (KHÔNG CÓ phủ sóng mạng) Các thay đổi sẽ được lưu trong một bảng sqlite và đợi chương trình phát sóng trực tuyến tải lên các thay đổi.
  3. Các thay đổi được gửi tới máy chủ sẽ được lưu vào một bảng sqlite phản chiếu một mức độ nào đó trên máy chủ.
  4. Thay đổi trên máy chủ sẽ sử dụng khung C2DM để thông báo cho người dùng về các thay đổi.
  5. Khi ứng dụng nhận được thông báo, nó sẽ tìm nạp dữ liệu cần thiết từ máy chủ và cập nhật các bảng sqlite.

Câu hỏi là, tôi có nên sử dụng bộ điều hợp đồng bộ cho tác phẩm này không? Nếu vậy thì phương pháp tiếp cận mức cao sẽ dựa trên ví dụ trên của tôi là gì. Cảm ơn bạn.

Trả lời

2

Bạn muốn đồng bộ hóa ứng dụng máy chủ nào? Nếu ứng dụng của bạn muốn đồng bộ hóa dữ liệu người dùng với máy chủ, C2DM (sử dụng bộ điều hợp đồng bộ hóa) có thể là cách để đi. Nó cung cấp trên không. Tôi thấy rằng trong hầu hết các trường hợp, một giao diện yên tĩnh đơn giản dễ tạo và duy trì hơn.

Nếu bạn muốn có câu trả lời chi tiết hơn, bạn sẽ phải cung cấp thêm thông tin về ứng dụng của mình.

+0

Cảm ơn bạn đã trả lời. Tôi đang tìm kiếm một cài đặt máy chủ PHP sẽ quản lý các yêu cầu HTTP. Cách tiếp cận an toàn như bạn mô tả thực sự là cách tôi muốn đi. Chi phí ánh sáng là chìa khóa. – HGPB

+0

Khi tôi nghĩ về việc đồng bộ hóa, tôi nghĩ luồng dữ liệu hai chiều sẽ được đồng bộ hóa. Ứng dụng của tôi sẽ không thực sự yêu cầu chức năng đó như bạn có thể thấy từ ví dụ của tôi. – HGPB

1

Nếu bạn không quan tâm đến việc xả pin, hãy sử dụng SyncAdapter để thực hiện đồng bộ hai chiều định kỳ (xuống và ngược dòng) và chỉ sửa đổi db cục bộ để tương tác với hành động của người dùng. Bằng cách này, bạn chỉ cần hai tập lệnh trên phía máy chủ, một cho đồng bộ hóa ở hạ lưu và một cho đồng bộ ngược dòng.

Tất nhiên bạn cần có

1). 3 cờ, ví dụ: insert_state, update_state và delete_state cho db cục bộ để chỉ ra dữ liệu bẩn.

2). uuid cho cả địa phương lẫn từ xa db

Đồng bộ hóa RESTIO của GoogleIO Tham chiếu: http://www.youtube.com/watch?v=xHXn3Kg2IQE

Các vấn đề liên quan