![](/img/trans.png)
[英]How to Create a Folder in App Folder in google drive in Android Programmatically
[英]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 29030110和SO 22874657中描述了將多個設備與GDAA一起使用時必須意識到的另一個陷阱。
如果您決定使用這2個api,我將為REST和GDAA維護基本的CRUD實現示例 。 GDAADemo還具有使用app文件夾的選項。
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.