8

Tôi đang viết một ứng dụng có chức năng nhắn tin nhanh. Người dùng sẽ viết văn bản hoặc chia sẻ hình ảnh trong chức năng IM. dữ liệu văn bản và tên tệp hình ảnh được lưu trữ trong tệp sqlite trong khi hình ảnh được lưu trữ trong thiết bị.Dự án mẫu về sao lưu tệp Sqlite và ảnh trên Google Drive theo lập trình trong Android

Vì máy chủ của tôi sẽ không giữ dữ liệu, người dùng sẽ không nhận được bản ghi trò chuyện khi họ chuyển sang thiết bị mới. Với tham chiếu đến whatsapp, chúng cho phép người dùng sao lưu các bản ghi trò chuyện và hình ảnh vào Google Drive một cách thường xuyên và lấy lại dữ liệu từ ổ đĩa như trong hình bên dưới.

enter image description here Khi tôi truy cập ổ google của riêng mình, tôi sẽ tìm thấy "Whatsapp" được kết nối với ổ google của tôi như được hiển thị bên dưới.

enter image description here Tôi mới sử dụng API Google Drive trong Android và tôi muốn sao lưu cơ sở dữ liệu và hình ảnh sqlite của mình theo cách tương tự như Whatsapp. Tôi biết có vài câu hỏi liên quan đến việc sao lưu cơ sở dữ liệu sqlite vào Google Drive nhưng có vẻ như nó chỉ chứa một phần mã và điều này làm cho người mới bắt đầu khá khó hiểu.

Sẽ có bất kỳ dự án mẫu trên github, câu hỏi trên stackoverflow hoặc hướng dẫn mà sẽ cho phép tôi tìm hiểu làm thế nào để sao lưu cơ sở dữ liệu SQLite và hình ảnh theo chương trình trong Android từng bước? Ngoài ra, tôi ngạc nhiên khi thấy chỉ whatsapp được kết nối với Google Drive của tôi nhưng không còn ứng dụng nào khác, vì vậy tôi không biết liệu các nhà phát triển bên thứ ba có quyền truy cập vào Google Drive giống như vậy hay không và hoàn thành sao lưu theo cùng cách với Whatsapp.

Trả lời

2

Điều này chắc chắn có thể thực hiện được. Bạn sẽ cần tìm hiểu cách upload files to Google Drive theo chương trình.

Sẽ có bất kỳ dự án mẫu nào trên github, câu hỏi về lưu lượng truy cập hoặc hướng dẫn cho phép tôi tìm hiểu cách sao lưu cơ sở dữ liệu sqlite và hình ảnh theo từng bước trong Android?

Có một số mẫu như:

Để tải lên hình ảnh, lưu ý rằng bạn sẽ sử dụng một image mimetype như image/png cho .png và image/jpeg cho .jpg tập tin. Để tải lên cơ sở dữ liệu sql vào Drive, đây là một đoạn mã from this sample.

String mimeType = MimeTypeMap.getSingleton().getExtensionFromMimeType("db"); 
     MetadataChangeSet changeSet = new MetadataChangeSet.Builder() 
       .setTitle(GOOGLE_DRIVE_FILE_NAME) // Google Drive File name 
       .setMimeType(mimeType) 
       .setStarred(true).build(); 
     // create a file on root folder 
     Drive.DriveApi.getRootFolder(api) 
       .createFile(api, changeSet, result.getDriveContents()) 
       .setResultCallback(backupFileCallback); 
+0

Tôi đã thử phương pháp này để tải lên tệp sql và thành công. Tuy nhiên, có vẻ như hình ảnh đã tải xuống từ cách tiếp cận không thành công. Nó sẽ là tuyệt vời nếu bạn cũng sẽ chia sẻ cách tiếp cận để tải hình ảnh từ ổ đĩa google để tôi sẽ chấp nhận câu trả lời của bạn. Cảm ơn nhiều! –

+0

Đây là con trai, [hướng dẫn này] (http://www.labnol.org/internet/direct-links-for-google-drive/28356/) đã được thử và kiểm tra. Đó sẽ là nó, được không? :) – noogui

+0

Hi @noogui Tôi đã xem liên kết của bạn nhưng có các mã được cung cấp. Từ bài luận, bạn có nghĩa là tôi nên sao lưu từng hình một với URL duy nhất không? –

3

Bạn đã xem https://github.com/googledrive/android-demos chưa? Tôi nghĩ bạn cần phải làm theo "Tạo tệp trong Thư mục ứng dụng" để lưu tệp sqlite của bạn trong thư mục AppData bị ẩn của người dùng. Để lấy lại tệp, bạn có thể truy vấn thư mục AppData (đảm bảo gọi requestSync() trước khi truy vấn để đảm bảo bộ nhớ cache được cập nhật).

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