簡體   English   中英

Android Google Drive SDK:保存到應用程序文件夾

[英]Android Google Drive SDK: Saving to App Folder

對於我當前的項目,我想允許用戶創建一個sqlite數據庫文件並讓他們輸入一些內容。 然后,用戶可以選擇登錄其Google雲端硬盤帳戶並上傳此文件。 之后,在用戶進行進一步編輯之后,將上載新的數據庫文件以替換舊文件。 最后,如果用戶有多個設備,則應從google驅動器下載數據庫,並替換存儲在設備上的現有文件。

目前,我已經成功設置了Google Drive SDK身份驗證,並且可以使用自己的帳戶登錄該應用。

我的主要問題是,當我選擇按下同步按鈕時,如何將sqlite數據庫文件上傳到APP FOLDER? (當用戶需要同步時,應調用此方法)

此外,如何將sqlite數據庫文件上傳到APP FOLDER?

您的問題有點籠統,但我會盡力向您指出正確的方向。

首先,您必須決定是使用REST Api還是GDAA 兩者都將完成相同的工作(實際上,現在GDAA的功能要窄一些,但您的情況會做到)。 最大的不同是GDAA將為您處理在線/離線狀態,而在REST Api中,您必須實現某種非UI線程(同步服務)同步。 此外,使用GDAA時,您還必須注意一些延遲問題。

接下來,上傳SQLite數據庫的過程與任何其他二進制數據流相同。

  • 抓取“ xxx.db”文件,制作輸出流(或byte []緩沖區),並創建一個包含title + mimetype元數據的GooDrive文件,將該流推送到其內容中,然后以一種愉快的方式發送。 標准文件夾和應用程序文件夾之間的唯一區別是文件的父文件夾。

  • 您將獲得一個ID,隨后可以使用該ID將文件下載到設備。 或者,您可以使用按元數據搜索(在您的情況下為標題)來獲取此ID。 同樣,它作為輸入流出現,您將其轉儲到設備上的“ xxx.db”文件中。

問題的第二部分涉及多個設備。 所有api都不會通知您有關GooDrive的更改,因此您必須實施以下兩種策略之一:

1 /輪詢(哎呀),最好在系統為您提供同步間隔的同步服務中使用。

2 /向感興趣的設備/用戶廣播了GCM消息(不是微不足道的,而是高效的……又性感)。

SO 29030110SO 22874657中描述了將多個設備與GDAA一起使用時必須意識到的另一個陷阱。

如果您決定使用這2個api,我將為RESTGDAA維護基本的CRUD實現示例 GDAADemo還具有使用app文件夾的選項。

祝好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM