我正在编写一个Android应用程序,需要将文件存储在云存储上,只能从同一个Google帐户上的其他Android设备访问。我认为App Engine是最好的选择。
我之前从未使用过GAE。我不知道如何编程,但我用Java编写代码。 基本上,我如何让我的Android应用程序将文件(blob?)上传到与其Google帐户绑定的Google App Engine?
谢谢Nikolay,这正是我正在寻找的! 但是有一个问题:这个例子显示了通过网站上传。我想知道是否可以通过Java应用程序上传。
答案 0 :(得分:1)
你必须做一些reading first。基本上,公开您的GAE应用程序中需要身份验证的URL。如果拥有Google帐户,那只会让人们发布数据。然后,您需要使用当前登录用户的电子邮件地址将每个上传与特定用户相关联。
要从Java应用程序上传,您可以使用Apache HttpClient(在Android中提供)发布到GAE servlet。只需使用JSP中的相同参数。
答案 1 :(得分:0)
这是我做类似工作时所遵循的清单。
创建一个异步任务作为执行网络相关任务的主体,不能在主UI线程上进行网络操作。
您需要获取上传文件的 UPLOAD URL ,此 UPLOAD URL 由GAE servlet或JSP页面动态生成BlobStore createUploadURL()方法,此方法需要一个url用于下一步。
异步任务使用URLConnection或HttpClient将文件上传到您在步骤2中获得的URL,同时,将连接设置为遵循重定向,以便服务器可以发回blob密钥。
接收从服务器响应的blob密钥,并将其用作故障单以在服务器端引用上载的文件。
祝你好运。