2011-08-29 90 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密钥,并将其用作服务器端上传的文件的引用。

祝你好运。