2012-07-05 72 views
6

Có các ứng dụng hoạt động trên cả iOS và Android (cả Điện thoại và Máy tính bảng) và chúng quản lý để đồng bộ hóa dữ liệu trên các thiết bị khác nhau.Đồng bộ dữ liệu ứng dụng giữa iOS và Android

  1. Có bất kỳ khung hoặc thư viện nào cung cấp chức năng đồng bộ hóa này không?
  2. Nếu không, các tùy chọn khác nhau để triển khai là gì?
  3. iCloud có thể được sử dụng để đồng bộ hóa dữ liệu ứng dụng trên các thiết bị Android và iOS không?

Trả lời

2

Có bất kỳ khuôn khổ hoặc thư viện mà cung cấp chức năng đồng bộ hóa này?

Không. Không có khung hoặc thư viện nào cung cấp loại đồng bộ đa nền tảng mà iCloud cung cấp cho thiết bị Apple.

Nếu không, các tùy chọn khác nhau để triển khai là gì?

  1. Không sử dụng cơ chế đồng bộ hóa và sử dụng dịch vụ web thay thế. Đây có thể là một giải pháp tốt cho một số trường hợp.
  2. Sử dụng cơ sở dữ liệu SQLite trong các ứng dụng iOS và Android và tự mình triển khai giải pháp đồng bộ hóa.Một số trong những thách thức mà bạn sẽ phải đối mặt nếu bạn chọn để thực hiện một giải pháp đồng bộ tùy chỉnh đang theo dõi:
    • Cung cấp một cơ chế đăng ký, sử dụng dịch vụ điện toán đám mây bên/máy chủ
    • dữ liệu Đọc và viết đến/từ máy chủ/đám mây
    • Phát hiện và xung đột giải quyết (tức là xung đột nhập)
    • truy cập ngoại tuyến các dữ liệu và xử lý các tình huống khi thiết bị không kết nối với bất kỳ mạng
    • Trong iOS, bạn sẽ không thể sử dụng Core- Dữ liệu (giúp việc phát triển tương đối dễ dàng), vì vậy bạn sẽ phải chăm sóc hiển thị dữ liệu một cách hiệu quả, tối ưu hóa truy cập dữ liệu, vv

iCloud có thể được sử dụng để đồng bộ hoá dữ liệu ứng dụng trên Android và các thiết bị iOS?

Không. ICloud chỉ dành cho các thiết bị của Apple (tính đến thời điểm này, tháng 7 năm 2012).

+0

Thông tin gây hiểu lầm/lỗi thời. Nhìn vào các câu trả lời khác. –

0

Tôi không biết về iOS, nhưng với Android, bạn có thể đồng bộ hóa dữ liệu đến/từ đám mây (máy chủ của bạn) bằng bộ điều hợp đồng bộ hóa. Ví dụ:

http://developer.android.com/training/cloudsync/index.html

Vì vậy, nếu bạn nhận được một số dữ liệu từ các ứng dụng iPhone để máy chủ của bạn, bạn có thể chỉ đồng bộ hóa nó vào ứng dụng Android như tốt và ngược lại.

-1

các C2DM đã được chấp nhận:

Chú ý: C2DM đã chính thức phản đối tính đến tháng 26, năm 2012. Điều này có nghĩa rằng C2DM đã ngừng chấp nhận người dùng mới và yêu cầu hạn ngạch. Không có tính năng mới nào được thêm vào C2DM. Tuy nhiên, các ứng dụng sử dụng C2DM sẽ tiếp tục hoạt động. Các nhà phát triển C2DM hiện tại được khuyến khích di chuyển sang phiên bản C2DM mới, được gọi là Google Cloud Messaging dành cho Android (GCM). Xem tài liệu di chuyển C2DM-to-GCM để biết thêm thông tin. Nhà phát triển phải sử dụng GCM để phát triển mới.

Sử dụng GCM: Link

4

Có bất kỳ khuôn khổ hoặc thư viện mà cung cấp chức năng đồng bộ hóa này?

Bạn có thể xem Nền tảng đám mây OpenMobster. Dịch vụ Đồng bộ hóa bảo mật sao chép dữ liệu giữa các thiết bị Android và iOS. Tất cả những gì bạn phải làm là phát triển Kênh đồng bộ Java trên Cloud Side và sử dụng API thiết bị ở phía thiết bị để truy cập dữ liệu của bạn. Dưới đây là một liên kết đến dự án: http://openmobster.googlecode.com

Khai báo đầy đủ: Tôi là kỹ sư trưởng của nền tảng OpenMobster

+0

Cảm ơn. Tôi sẽ kiểm tra nó khi tôi có cơ hội. – Mustafa

+0

Tôi có thể sử dụng OpenMobster để đồng bộ hóa dữ liệu giữa Android và iOS và Java Desktop hoặc Ứng dụng Web không? Nếu tôi có thể, giải pháp này có thể mở rộng như thế nào? Có bao nhiêu người dùng có thể sử dụng đồng thời? Cảm ơn trước. –

0

API kho lưu trữ Dropbox có thể đồng bộ hóa dữ liệu cấu trúc (cơ sở dữ liệu) và API đồng bộ hóa cũng như đồng bộ hóa hình ảnh, tài liệu và các tệp khác.

https://www.dropbox.com/developers/datastore

https://www.dropbox.com/developers/sync

Họ có các phiên bản iOS và Android.

+0

Dropbox API v2 có gọi lại cho Android và iOS và các ứng dụng máy tính để bàn khi dữ liệu trên Dropbox thay đổi không? –

0

EnduroSync từ Orando Labs là sản phẩm mới thực hiện chính xác những gì bạn đang yêu cầu. Có các ứng dụng dành cho iOS và Android, với nhiều ứng dụng hơn nữa.

Tiết lộ đầy đủ: Tôi làm việc tại Orando Labs.

Các máy khách EnduroSync cho phép bạn tạo lưu trữ dữ liệu đối tượng trên thiết bị cục bộ. Các khách hàng là khá tinh vi - dữ liệu được mô hình hóa như là các đối tượng bản địa cho mỗi khách hàng mà chúng tôi hỗ trợ (iOS và Android bây giờ, nhiều hơn tới). Khách hàng làm việc ngoại tuyến và trực tuyến. Dữ liệu được lưu vào cơ sở dữ liệu sqlite cục bộ.

Khi bạn thay đổi các đối tượng trong mô hình của mình, các vùng đồng bằng được ghi lại trên thiết bị. Tại một số thời điểm, bạn có thể 'đồng bộ' kho lưu trữ dữ liệu đối tượng. Đồng bộ hóa sử dụng quy trình cam kết/đẩy/kéo (như git), nhưng điều này là vô hình đối với bạn. Đồng bộ hóa sẽ cập nhật bản sao cục bộ của bạn với bất kỳ nội dung gì trên máy chủ và gửi mọi thay đổi bạn đã thực hiện. Xung đột được giải quyết bằng cách sử dụng dấu thời gian dựa trên hợp nhất, vì vậy dữ liệu mới hơn không bị ghi đè bởi dữ liệu cũ hơn.

EnduroSync là một dịch vụ trực tuyến, do đó không có thiết lập máy chủ nào ở phía bạn.

Ngoài ra còn có hệ thống cấp quyền linh hoạt cho phép bạn chia sẻ kho dữ liệu đối tượng theo nhiều cách khác nhau. Ví dụ, hầu hết các ứng dụng sẽ có một hoặc nhiều cửa hàng dữ liệu đối tượng cho mỗi người dùng, cho các sở thích, ghi chú, thẻ, vv Bạn cũng có thể chia sẻ các kho dữ liệu đối tượng cho mỗi ứng dụng, cho mỗi loại người dùng và với các thẻ hoang dã.

Vì vậy, về cơ bản, bạn sử dụng SDK khách hàng của chúng tôi để lập mô hình dữ liệu của bạn trên thiết bị. Mô hình hóa với các đối tượng đơn giản bằng ngôn ngữ lập trình gốc của thiết bị. Nếu bạn đăng ký cho dịch vụ đồng bộ hóa, bạn cũng sẽ nhận được đồng bộ hóa.

+2

Bạn có thể cung cấp một chút nền tảng kỹ thuật không? Bằng cách này, nó không phải là một liên kết đơn giản tới một tài nguyên bên ngoài. Câu trả lời sẽ có thể tự đứng vững; xin vui lòng, kiểm tra [trả lời]. – brasofilo

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