11

Tôi đang tạo loại từ điển của ứng dụng sử dụng SQLite. Tôi có một bảng duy nhất giữ cặp từ nước ngoài và bản dịch của họ. Tôi muốn đồng bộ hóa bảng này với một bảng tính cụ thể trong Google Documents.Android Sync Sqlite

Tôi đã tìm thấy điều này awesome library để truy xuất và thao tác GoogleSpreadsheets, vì vậy ít nhất tôi được bảo hiểm cho điều đó. Nhưng tôi donT cảm thấy thoải mái về sự đồng bộ. Bây giờ,

  1. Tôi có thể sử dụng một SyncAdapter để làm đồng bộ hóa này giữa tôi SQLiteGoogleSpreadsheet? Nếu có, làm thế nào tôi sẽ đi về nó? Tôi có thể truy xuất và thao tác các hàng của bảng tính trong số onPerformSync hoặc không?
  2. Điều gì có thể là lựa chọn thay thế khác cho một kịch bản như vậy? Tôi có nên sử dụng một dịch vụ bình thường để thực hiện việc kiểm tra khi người dùng yêu cầu nó (trong hoạt động chính chẳng hạn)?

Trên vids Google I/O (đặc biệt là trên Android REST client apps) họ có vẻ khá thuyết phục cho việc sử dụng SyncAdapter nhưng tôi không chắc chắn nếu nó có thể giúp tôi mà không có một dịch vụ REST thực tế.

Thanks in advance ..

+1

Xem câu hỏi này. Nó có câu trả lời cho vấn đề của bạn. http://stackoverflow.com/questions/6314977/how-can-i-sync-my-android-sqlite-database-with-a-database-on-a-server-using-json –

Trả lời

1

Một lý do tốt để sử dụng Android SyncAdapter, ContentProviderSyncManager là bạn sẽ được hưởng lợi từ sự hiểu biết hệ thống của Google đó là hữu ích cho việc bảo tồn tuổi thọ pin và các nguồn lực khác. Một số nội dung này có trong video bạn liên kết đến. Ví dụ, logic trả về theo hàm số mũ để ngăn các nỗ lực lãng phí khi đồng bộ hóa.

Có một số thông tin tốt về bảo quản tuổi thọ pin bằng cách bảo toàn nguồn phát sóng di động trong ngày hôm nay Google I/O 2012 talk "Making Good Apps Great: More Advanced Topics for Expert Android Developers." Trong khi không được đề cập một cách rõ ràng, tôi nghĩ rằng SyncManager có thể có các thuộc tính tiết kiệm pin được đề cập trong video này.

Dựa trên việc đọc của tôi (không thực sự triển khai bất kỳ thứ gì) của API và các tài nguyên khác như gói com.example.android.samplesync, có vẻ như mẫu đó đủ linh hoạt để thích ứng với nhu cầu của chương trình của bạn.

Nhóm tôi đang làm việc đã triển khai đồng bộ hóa tùy chỉnh cho ứng dụng Android của chúng tôi nhưng tôi có thể cho bạn biết rằng chúng tôi không xem xét tùy chọn này vì chúng tôi đã cam kết viết nhiều logic nhất có thể để chạy với WebView. Tôi sẽ không nhất thiết phải đề nghị, nhưng đó là vượt ra ngoài phạm vi ở đây.