开发Android网络游戏,将App Engine用于服务器是否可行

时间:2010-02-23 16:02:11

标签: android google-app-engine

我一直在研究Android开发一段时间,并且非常想创建一个联网游戏。我也认为这对于熟悉app引擎框架来说是一个很好的机会,但似乎更多app引擎应用程序是围绕浏览器服务构建的。

这对我来说不是一个问题,但我不希望这个出现在基于浏览器的游戏中(我想要实时聊天,更动态的互动/运动/战斗)。我一直在研究AJAX / Java作为一种可能的解决方案,但我无法想象我将如何将应用程序实际连接到服务器,因为我找到的所有设备似乎都是托管的Web应用程序。 Android应用程序是否有任何资源可以透明地挂钩到App Engine服务中?

或许有一个更好的服务类似于我应该研究的app引擎。

谢谢! (如果我不清楚任何事情让我知道)

3 个答案:

答案 0 :(得分:3)

AppEngine对提供Web应用程序完全有偏见:HTTP输入,HTTP输出。因此,只要您可以将游戏的通信层设计为可在HTTP中实现(无状态,有限生命请求),就没有理由不这样做。

您的游戏无需在浏览器中运行即可使用基于HTTP的API与服务器进行通信。我怀疑Andriod和AppEngine之间有任何特殊的“透明”通信库,因为AppEngine可能实现的Web请求式通信与用于与任何其他基于HTTP的API通信的相同技术实际上无法区分在任何平台上运行。

答案 1 :(得分:1)

我目前正在开发一个应用程序,该应用程序将涉及基于浏览器的webapp以及连接到GAE服务的iphone“已安装应用程序”(即谷歌的术语)。我只是将GET / POST xml转换为基本的servlet,它运行正常。请记住,为了保持客户端的活泼,您将不得不广泛使用memcache,因为即使对数据存储区的轻微调用往往需要很长时间,并且已安装的应用程序中的“等待”对话框也会很快变旧。我会尝试广泛使用memcache(而不是数据存储区)来保存游戏状态数据,因为这些数据可能不需要“永久”持久化,并且memcache明显快于数据存储。

此外,我认为客户无法获得有关游戏状态更改的通知,应用程序引擎不会“推送”,因此所有客户都必须轮询更新。

答案 2 :(得分:0)

您可以使用Android SDK中的包org.apache.http.HttpConnect。*类中的Http Component类。