cuốn sách gpt4 ai đã làm

Android Cloud - Trình quản lý sao lưu và ổ đĩa

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 12:37:26 27 4
mua khóa gpt4 Nike

Tôi đang phát triển một ứng dụng và tôi muốn triển khai một tính năng có thể được chia sẻ giữa các thiết bị giống nhau của người dùng, chẳng hạn như mục yêu thích, dấu trang, v.v. Vì vậy, tôi muốn triển khai một cái gì đó như iCloud.

Tôi đã nghĩ ra 2 ý tưởng khả thi: Trình quản lý sao lưu và Google Drive. Tôi nghĩ Trình quản lý sao lưu là giải pháp đơn giản nhất cho nhu cầu của mình, nhưng có lẽ tôi đã nhầm:

Ghi chú: Dịch vụ sao lưu không được thiết kế để đồng bộ hóa dữ liệu ứng dụng với các máy khách khác hoặc lưu dữ liệu mà bạn muốn truy cập trong vòng đời ứng dụng thông thường. Bạn không thể đọc hoặc ghi dữ liệu sao lưu theo yêu cầu và không thể truy cập dữ liệu đó theo bất kỳ cách nào khác ngoài thông qua. API do Trình quản lý sao lưu cung cấp.

Ghi chú: Phương thức sao lưu do Dịch vụ sao lưu Android cung cấp không được đảm bảo khả dụng trên tất cả các thiết bị chạy Android hỗ trợ sao lưu. Một số thiết bị có thể hỗ trợ sao lưu bằng phương thức truyền tải khác, một số thiết bị có thể không hỗ trợ sao lưu và không có cách nào để thực hiện. ứng dụng của bạn để biết phương tiện nào được sử dụng trên thiết bị.

Vì tôi đang lưu trữ thông tin này trong SharedPreferences nên tôi đã làm theo đề xuất của Google (http://developer.android.com/guide/topics/data/backup.html#BackupAgentHelper) bằng cách mở rộng Trình trợ giúp dự phòng Bắt đầu thực hiện của tôi.

...mỗi khi người dùng thay đổi một số dữ liệu, ứng dụng của bạn sẽ gọi dataChanged(), thao tác này sẽ thêm yêu cầu sao lưu vào hàng đợi Trình quản lý sao lưu.

Vì vậy, mỗi khi tôi thay đổi dữ liệu, lưu hoặc xóa dấu trang, tôi gọi:

BackupManager.dataChanged(C.PROJECT_PATH);

Khi ứng dụng của tôi bắt đầu, tôi gọi:

contentBackupManager.requestRestore(new RestoreObserver() {})

Mọi thứ đã được thiết lập cùng với AndroidManifest.xml.

Không may yêu cầuKhôi phục đang trở lại != 0 (lỗi) và BackupAngent của tôi (mở rộng BackupAgentHelper)onBackuptrênKhôi phục không được gọi (onTạo được gọi). Nhưng, một lần nữa:

Yêu cầu sao lưu không dẫn đến lệnh gọi ngay lập tức tới phương thức onBackup() của bạn. Thay vào đó, Trình quản lý sao lưu sẽ đợi một thời điểm thích hợp, sau đó thực hiện sao lưu cho tất cả các ứng dụng đã yêu cầu sao lưu kể từ lần sao lưu cuối cùng được thực hiện.

Điều này có nghĩa là tôi chỉ có thể tìm thấy câu trả lời trong Google Drive phải không?

câu trả lời hay nhất

Bạn nói đúng, bạn không nên sử dụng Trình quản lý sao lưu. Bạn sẽ cần sử dụng dịch vụ của bên thứ ba để lưu loại dữ liệu chính xác của mình. Vì vậy bạn có thể:

  • Sử dụng dịch vụ như Google Drive hoặc Dropbox cung cấp API nơi bạn có thể tải lên (và tải xuống) bất kỳ loại tệp nào và lưu trữ dữ liệu ở định dạng bạn chọn (XML/JSON/Binary). Những lợi ích ở đây là:
    • Bạn không cần ứng dụng phía máy chủ để lưu trữ dữ liệu nên tốn ít công sức phát triển hơn
    • Người dùng sở hữu dữ liệu của họ, điều này có thể quan trọng đối với một số người dùng
  • Viết một số mã phía máy chủ tùy chỉnh để cung cấp API cụ thể cho ứng dụng của bạn. Bạn có thể sử dụng Máy ứng dụng của Googlevì điều này. Rõ ràng nhược điểm là nỗ lực phát triển tăng lên và các hóa đơn có thể xảy ra từ App Engine nếu bạn có nhiều người dùng. Tuy nhiên, bạn cũng có nhiều lợi thế nếu đi theo con đường này:
    • Bạn sẽ không lãng phí dung lượng trên tài khoản Drive hoặc Dropbox của người dùng.
    • Người dùng không thích nhập thông tin đăng nhập Drive/Dropbox của họ vào ứng dụng của bên thứ 3,
    • Bạn có thể sử dụng các chức năng tiện lợi như GCM ,
    • Bạn lưu trữ dữ liệu trong cơ sở dữ liệu thực tế nên bạn có thể xây dựng dữ liệu đó theo cách bạn muốn và bạn sở hữu nó.

Sự lựa chọn của bạn :)

Về Android Cloud - Trình quản lý sao lưu và Drive, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/15615196/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress