2011-08-29 93 views
1

我正在編寫一個Android應用程序,需要將文件存儲在雲存儲上,這些文件只能從同一Google帳戶中的其他Android設備訪問。我認爲App Engine是最好的選擇。從Android到Google App Engine的簡單文件上傳?

我以前從未使用過GAE。我不知道如何編寫它,但我使用Java編碼。 基本上,我該如何讓我的Android應用將文件(blob?)上傳到與其Google帳戶綁定的Google App Engine?


感謝尼古拉,這正是我要找的! 但有一個問題:此示例顯示通過網站上傳。我想知道是否可以通過Java應用程序上傳。

+0

要通過您的應用程序上傳,您只需要做出與Web瀏覽器相同的請求。 –

回答

1

你必須做一些reading first。基本上,從您的GAE應用程序公開需要驗證的URL。如果擁有Google帳戶,這隻會讓人們發佈數據。然後,您需要使用當前登錄的用戶的電子郵件地址將每個上傳與某個用戶相關聯。

要從Java應用上傳,您可以使用Apache HttpClient(可在Android中獲得)發佈到GAE servlet。只需使用JSP中相同的參數即可。

+1

(psst,OP更新) – Will

0

下面是我在做類似工作時遵循的列表。

  1. 創建一個異步任務作爲身體來執行網絡相關的任務,你不能在你的主UI線程做網絡操作。

  2. 你需要獲得一個上傳網址你上傳的文件,這上傳網址由GAE servlet或JSP頁面調用BLOBSTORE createUploadURL()方法是動態生成的,這種方法需要一個網址爲下一步。

  3. 異步任務使用URLConnection或HttpClient將文件上傳到您在步驟2中獲取的URL,同時將連接設置爲遵循重定向,以便服務器可以發回BLOB密鑰。

  4. 接收服務器響應的blob密鑰,並將其用作服務器端上傳的文件的引用。

祝你好運。