10

Chúng tôi đang phát triển một ứng dụng Android gốc (iOS và web để theo dõi), nơi người dùng có thể tạo album một cách cộng tác.Cách phát triển ứng dụng Android gốc ngoại tuyến đầu tiên

Chúng tôi muốn như liền mạch như kinh nghiệm có thể khi thiết bị không thể kết nối với máy chủ. Một cái gì đó như đã đề cập trong số Hoodie blog này nhưng Áo ngay bây giờ cho Web và iOS và chúng tôi đang tìm kiếm Android ngay bây giờ.

Vấn đề

Duy trì dữ liệu của album, bạn bè, hình ảnh (URL/địa phương, không Bitmap) đứng về phía khách hàng. Có thể đồng bộ hóa các hoạt động tạo/cập nhật ngoại tuyến với máy chủ vào thời gian sau đó, với độ phân giải xung đột.

nghiên cứu hiện tại

  1. HTTPResponseCache: Nhược điểm: Caches chỉ các yêu cầu đã bị ảnh hưởng một lần. Plus cần hệ thống khác nhau để xử lý các hành động tạo/cập nhật.
  2. App42, Kinvey: Backend-như-một-dịch vụ; Nhược điểm: Chúng tôi muốn có chương trình phụ trợ riêng.
  3. Microsoft Sync Framework Toolkit: Không chắc tốt như thế nào nó hoạt động với Android
  4. PouchDB
  5. Superbus: Giải quyết một phần của vấn đề

Tuỳ chỉnh

Duy trì dữ liệu trong SQLite trên Android và MySQL trên máy chủ Đồng bộ hóa bằng cách sử dụng Android Sync Adapter. Tuy nhiên, điều này có thể mất thời gian và có lỗi khi khởi động.

Sự cố này nên được tiếp cận như thế nào?

Trả lời

9

tôi đang làm việc trên một dự án vào lúc này, và chúng ta cần phải theo dõi việc giao hàng và xác minh giao hàng ngay cả khi người sử dụng đang ẩn. Cách tiếp cận tôi sử dụng là sử dụng plugin ContentProvider này Simple Content Provider. Và tôi kiểm tra xem có internet hay không, và nếu không có. Nó lưu trữ dữ liệu cho nhà cung cấp và thay đổi bất cứ điều gì cần phải được thay đổi trong DATABASE và làm cho người dùng của tôi tin rằng họ đã hoàn thành đơn đặt hàng. Và tôi đã SyncAdapter chờ internet tiếp tục. Và, tôi cũng có một dịch vụ đẩy để làm mới cơ sở dữ liệu khi có sự thay đổi trong cơ sở dữ liệu. Có hiểu biết về Google Cloud Messaging sẽ giúp người dùng của bạn tiết kiệm rất nhiều thời lượng pin. Có thể có các lựa chọn tốt hơn ngoài kia. Tuy nhiên, từ kinh nghiệm nhỏ của tôi với Android đó là cách trợ giúp nhỏ của tôi có thể.

+1

Sau khi tìm kiếm thông qua, tôi nghĩ rằng đây thực sự là một cách để làm điều đó. Cảm ơn. – Sangharsh

2

Did bạn đã có một cái nhìn trong CouchBase ServerCouchBase Lite?

Chúng cung cấp công cụ mạnh mẽ được gọi là SyncGateway xử lý cho bạn tất cả đồng bộ hóa và hợp nhất dữ liệu giữa máy chủ và cơ sở dữ liệu nội bộ. Bạn không cần phải mã hóa bất cứ điều gì trong ứng dụng di động của bạn cho đồng bộ hóa.

Couchbase Lite khả dụng cho iOS và Android. Ngoài ra còn có một số plugin cho Cordova/PhoneGap.

Tôi chưa bao giờ có bất kỳ vấn đề để biên dịch nó, chỉ dành cho iOS lưu ý để biên dịch cho iOS6 +, nó không hoạt động với iOS5

+0

Không, không có cái nhìn về điều này trước đó. Mặc dù có vẻ hứa hẹn. Ngay bây giờ, nó là muộn để đi với kiến ​​trúc này như phát triển là một nửa thông qua. – Sangharsh

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