谷歌云存储与应用程序引擎

时间:2015-03-14 07:00:11

标签: android google-app-engine google-cloud-storage

它让我疯了,有人请帮帮我。这个谷歌云的东西让我感到困惑。我有点不在这里,我的理解中缺少一些东西。我想使用云存储。现在我有一个默认的Android Studio Project有一个Android客户端,一个应用程序引擎后端,包括实体,端点,客户端库等,以及一个WEB CLIENT.While通过谷歌云存储文档,我找到了以下内容 -

  1. Google API客户端库
  2. Google云端存储客户端库
  3. Google云端存储API
  4. 适用于Java的Google云端存储JSON API客户端库
  5. 我仍然不确定每个人实际上做了什么。我不知道如何在我的Android客户端中实现云存储。

    如果我使用云存储,为什么需要应用引擎后端应用?我的后端不需要API,对吧?我可以像使用Volley一样使用Google Cloud Storage JSON API直接使用我的存储桶。我在这里错过了什么吗?

    有没有"你好世界"关于如何从Android客户端/应用程序使用云存储的教程或任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

如果您100%确定不需要任何后端逻辑,并且永远不会,请参阅Using Google Cloud Storage JSON api in android以获取直接Android< - > Google云端存储操作。

通常,在应用程序成功的过程中,最终需要在后端使用一些逻辑(例如,处理不同版本的客户端 - 并非所有更新都在同一纳秒内:-),所以通常更多谨慎且面向未来,让前端进入App Engine后端,除了提供对云存储的访问之外,还可以应用所需的任何逻辑。

在0.1版本中,所需的逻辑量可能非常小(尽管通常至少是某种类型的身份验证),但如果应用程序成功,则可能需要新版本,并且后端将能够发展为处理这一点。

然后在评论中你问:

  

据我了解appengine,如果我需要存储数据   NoSQL数据存储区,然后我可以建立一个端点支持的后端   反过来会消耗我的Restful API。

更常见的安排是让后端供应成为前端消费的宁静API;而且,这就是Cloud Endpoints可以为您做的事情(尽管您可以通过许多其他方式设计和实现这种宁静的API,如果您愿意的话)。

  

我的意思是,我是否可以从内部使用云存储休息API   我的后端端点,它本身用于调用我自己的其余API?

一个强大的架构基于关注点分离。让Android上运行的前端主要关注整个应用程序中的“人机界面”部分 - 清晰有效地呈现数据,与用户交互。

前端可以将几乎所有其他关注点委托给后端,包括存储和特定于应用程序的逻辑的大多数方面,关于存储在哪里,是否允许访问(什么样的 - 读取/根据用户的身份验证等,对某些数据进行写入或读取(仅限)。

此委派可以利用Cloud Endpoints,或者您可以选择以不同方式设计和实现它(例如,通过不同的框架生成和使用应用程序的REST API)。

  

为什么我需要后端逻辑来处理不同版本的   客户端?

例如,如果客户端的新版本想要存储和检索比旧版本更多的数据,那么您将需要这样做 - 例如,在将来的某个版本中,您可能认为添加它可能很有用GPS位置数据,或可选的多张照片或音频片段等,这些都未在以前的版本中使用过。 (当然很难具体说明你的应用程序的所有内容,但总的来说,在早期版本中你总是会有一些你没有做过的事情,并且想要添加到未来的版本中: - )。

在这种情况下,后端需要知道客户期望的数据的确切位置,以及相反地将哪些数据发送回客户端 - 然后这些关键方面将取决于客户的版本;如果没有后端逻辑进行调解,新旧客户之间的平滑无缝过渡将是不可行的,特别是在过渡期间,当一些客户升级到新版本但其他客户仍然停留在旧版本时。