2011-10-26 26 views
15

Tôi đang bối rối về cách tốt nhất để có nhiều bảng được đồng bộ hóa trong ứng dụng của tôi.Bối rối về việc đồng bộ hóa nhiều bảng với bộ điều hợp đồng bộ và nhà cung cấp nội dung

Tôi có một nhà cung cấp nội dung và có ý định có nhiều bảng (sự kiện, người dùng, v.v.). Tôi cũng có một máy chủ còn lại mà ứng dụng được cho là giao tiếp với. Tôi đang tự hỏi về cách thực hành tốt nhất để xử lý nhiều kết nối (đặt, nhận, gửi và xóa) cho từng bảng. Họ cũng có mối quan hệ, giống như một người dùng có thể tham dự một sự kiện, nhưng cũng là chủ sở hữu của sự kiện. Vì vậy, nếu tôi đã tạo người dùng và sự kiện thuộc về người dùng đó, tôi có thể tải lên người dùng, lấy lại thông tin từ máy chủ về người dùng, tải sự kiện lên bằng thông tin về người dùng, lấy lại thông tin đó rồi cập nhật người dùng có thông tin sự kiện mới.

Cách tốt nhất để giải quyết những vấn đề này là gì? Tôi có nên tạo phương thức (http://example.com/sync) để tổng hợp tất cả dữ liệu cần được đồng bộ hóa không? Hoặc tôi nên chỉ gắn bó với, đôi khi ~ 15-20 yêu cầu?

+0

[Điều này có thể giúp đỡ] (http://stackoverflow.com/questions/3814005/best-practices-for-exposing-multiple-tables-using-content-providers-in-android) – Reno

+0

Điều đó không trả lời chính xác câu hỏi của tôi. Liên kết mà bạn đã chia sẻ (cảm ơn) là về việc hiển thị nhà cung cấp nội dung của bạn với phần còn lại của hệ thống android, nội bộ. Câu hỏi của tôi là nhiều hơn về đồng bộ hóa dữ liệu của bạn bên ngoài và cách tạo kết nối hiệu quả nhất tới máy chủ để truyền/nhận dữ liệu. – jonepatr

+0

Vâng tôi biết rằng, xin lỗi tôi đã không làm việc với SyncAdapters cả, tôi sẽ upvote câu hỏi của bạn. – Reno

Trả lời

6

Tôi khuyên bạn nên xem Google I/O 2010 - Android REST client applications video. Đó là một giới thiệu tuyệt vời về một số khái niệm và các mẫu được đề xuất để viết các ứng dụng đồng bộ hóa thiết kế tốt.

Cá nhân tôi tìm thấy câu trả lời cho hầu hết các câu hỏi của mình.

Đồng thời xem this presentation. Cùng với bản trình bày này và mẫu bộ điều hợp đồng bộ được cung cấp cùng với SDK, danh sách sau đây sẽ cung cấp cho bạn nhiều đạn dược để có bộ điều hợp đồng bộ hóa và chạy khá nhanh.

2

Tất cả phụ thuộc vào lượng dữ liệu bạn muốn đồng bộ hóa.

Nếu đó chỉ là dữ liệu văn bản và không nhiều, bạn nên đồng bộ hóa tất cả cùng một lúc. Tôi sẽ khuyên bạn nên mã hóa tất cả để json, nén nó và gửi nó đến máy chủ (nơi bạn sẽ giải nén, phân tích cú pháp và lưu). Json nhẹ và dễ soạn thảo trên androi, cũng như phân tích trên hầu hết mọi loại máy chủ.

Nếu bạn muốn đồng bộ hóa hình ảnh, bạn nên tắt đồng bộ hóa từng ảnh một, để đảm bảo bạn đã lưu một phần tiến trình trong trường hợp kết nối bị ngắt.

7

Evernote đã giải quyết được vấn đề tương tự với giao thức EDAM độc quyền của họ. Đáng xem xét.

Evernote EDAM

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