【问题标题】:php framework to serve android appphp框架为android应用程序提供服务
【发布时间】:2012-02-26 14:16:11
【问题描述】:

我正在开发安卓应用。这是某种社交网络。用户可以在其中添加朋友和一些东西。我已经在 php 上工作了很长一段时间了。但 android 对我来说是全新的。该应用程序将由 Web 服务提供服务。 我的android技能不好。所以我花在 android 部分上的总时间更多。所以我在想是否有任何框架可以用来为我的应用程序提供服务。有了这个,我可以减少实施 Web 服务的时间。我知道一些框架,但由于我没有使用它们,我不知道它们可以扩展多少以满足我的需要。 或者我应该在没有任何框架的情况下自己实现它吗?

所有的建议,建议都会非常有帮助。

【问题讨论】:

  • 我很确定 android SDK 没有“框架”,不用等待 SDK 是一个 java 框架。建议你看一些java教程以获得基本语法然后看看youtube上的教程,有一个来自新波士顿的叫bucky的人,他基本上将SDK的每一个可能的功能都实现了200集youtube.com/…
  • @LawrenceCherone - 非常感谢您的链接。这肯定会在android中帮助我。但我想知道可以很容易地用来向android应用发送json、xml响应的php框架。因为我不需要处理任何 html、css、javascript;我想完全跳过该部分以减少处理请求的工作量并简单地输出 json 或 xml。再次感谢。
  • 虽然与网络服务框架问题无关,但您可以使用钛appcelerator.com 在javascript 中开发您的android 应用程序。这会大大减少您的开发。

标签: php android frameworks


【解决方案1】:

在我看来,您绝对应该使用框架,这样您就可以更专注于开发 Android 应用程序。

重要的是,你选择你的后端框架 wisley。因此它应该是一个轻量级和/或 RAD(快速应用程序开发)框架,它使您能够使用代码生成来生成常见模式,从而快速入门。

我可以推荐 Ruby on Rails。如果你想坚持使用 PHP,那么我的建议是 Symfony 2Kohana。使用这些框架,您应该构思和实现一个 API,最好是 RESTful,它为您的 Android 应用程序提供数据,并且可以在以后用于所有其他类型的移动应用程序或第三方应用程序。

如果您使用 Symfony 2,您可以查看 FOSRestBundle - 一个提供创建 RESTful API 的工具的包。

此外,Symfony 2 附带了一个非常好的documentation - 包括一个入门部分,以及一本食谱。

所以,...快乐的编码。 :)

【讨论】:

  • 感谢您的回复。在使用之前,我必须深入研究两者。实现 API 是我期待的事情。 :D
【解决方案2】:

我不认为这里真的需要一个框架。在您的服务器和 Android 之间进行通信的一种有效方式是通过 JSON 数据格式。它比 XML 小,但同样易于使用。

例如,要请求好友列表,您可以这样发送请求:

http://www.example.com/android.php?do=friends

并像桌面站点一样发送您的身份验证 cookie。响应如下所示:

{
    "friends": [
        {
            "name": "John Lua",
            "age": 19,
            "friends_since": 32423434
        },
        ...
    ]
}

在生产版本中,你当然可以省略缩进和其他间距。

在 PHP 中生成此输出很简单,但如果您愿意,可以使用如下函数:http://www.php.net/manual/en/function.json-encode.php

在 Java 中(在 Android 上)再次解析它可以使用库来完成:http://json.org/java/

您可以使用 Java 中的普通 Web 请求来请求此响应。您可以在此处找到有关使用 cookie 的 Web 请求的信息:http://www.hccp.org/java-net-cookie-how-to.html

在服务器端,您可以像处理桌面客户端一样处理 Android 客户端,只是输出格式不同。

【讨论】:

  • 感谢您的回复。如果我不使用任何框架,那么我必须为数据库连接、处理连接失败、根据请求生成查询、处理查询数据错误、如果来自数据库的 push-pop 失败、管理标题(如此服务在云上开放,我想使用自定义标头来区分我的应用程序和其他引荐来源并限制访问)。我认为框架可以减少我做这件事的时间,让自己专注于 android 应用程序部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多