首页 文章

带有应用引擎的Google Cloud 端存储

提问于
浏览
1

它驱使我疯了,有人请帮助我 . 这个谷歌 Cloud 的东西让我感到困惑 . 我有点偏离这里,我的理解中缺少一些东西 . 我想使用 Cloud 存储 . 现在我有一个默认的Android Studio项目有一个Android客户端,一个应用程序引擎后端,包括实体, endpoints ,客户端库和一个WEB CLIENT.While通过谷歌 Cloud 存储文档,我发现以下 -

  • Google API客户端库

  • Google Cloud 端存储客户端库

  • Google Cloud Storage API

  • 适用于Java的Google Cloud Storage JSON API客户端库

我还不确定每个人实际上做了什么 . 我不知道如何在我的Android客户端中实现 Cloud 存储 .

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

有没有关于如何从Android客户端/应用程序使用 Cloud 存储的“hello world”教程,还是有人可以提供帮助吗?

1 回答

  • 4

    如果您需要任何后端逻辑,并且永远不会,请查看Using Google Cloud Storage JSON api in android以获取直接Android < - > Google Cloud 端存储操作 .

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

    在版本0.1,所需的逻辑量可能非常小(尽管通常至少是某种类型的身份验证),但如果应用程序成功,则可能需要新版本,并且后端将能够进化以处理该问题 .

    然后在评论中你问:

    据我所知,如果我需要在NoSQL数据存储中存储数据,那么我可以创建一个 endpoints 支持的后端,这将支持我的Restful API .

    更常见的安排是让后端 supply 成为前端消耗的宁静API;而且,'s what Cloud Endpoints can do for you (though you could design and implement that restful API in many other different ways, if you' d宁可 .

    我的意思是,我是否应该从我的后端 endpoints 中使用 Cloud 存储休息API,后端本身用于调用我自己的其余API?

    一个强大的架构基于 separation of concerns . 让Android上运行的前端主要关注整个应用程序的"human interface"部分 - 清晰有效地呈现数据,与用户交互 .

    前端可以将后端的所有其他问题委托给后端,包括存储和特定于应用程序的逻辑的大多数方面,涉及存储在何处,是否允许访问(何种类型 - 读/写或读取) (仅限)某些数据,具体取决于用户的身份验证,等等 .

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

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

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

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

相关问题