如何实现Java客户端应用程序(Android)和PHP服务器应用程序之间的通信?

时间:2010-02-13 22:59:02

标签: java php android client-server

我有一个简单的Java客户端应用程序(Android应用程序)。我必须编写一个PHP服务器应用程序,它接收来自Java客户端应用程序的请求,将一些数据写入MySQL数据库或从MySQL数据库中读取一些数据。它应该响应状态消息(写入失败/成功)或分别请求的数据。

我如何让Java客户端发送请求并从PHP程序接收回复?PHP程序将如何接收请求并发送回复?我已经搜索了SOAP和REST架构,但是寻找一个简单的教程,这将允许我实现这个简单的程序。

感谢。

2 个答案:

答案 0 :(得分:6)

使用基本的Java SE API,您可以使用java.net.URLConnection来触发HTTP请求。触发GET请求的基本示例可以在Sun tutorial on the subject中找到。 POST请求没有太大差异,您只需将URLConnection#setDoOutput()设置为true,然后将查询字符串写入URLConnection#getOutputStream()而不是网址。

请注意,它是“懒惰地执行”,只有在URLConnection#getInputStream()实际获得响应流时才会触发请求,即使您不需要它。

如果您想要更少的详细代码和/或对请求的更多控制权,那么我建议您使用Apache Commons HttpComponents Client

PHP程序反过来可以用通常的方式编写。按$_GET$_POST等获取请求参数,然后echo获取响应。这里没有什么特别需要做的。但是,您可以考虑使用更简单的可解析响应格式,例如XML或JSON。

答案 1 :(得分:1)

您应该使用PHP构建一个简单的基于JSON或XML的REST Web服务。

然后使用Android SDK,您可以使用HttpClient模块连接到您的网络服务。 SDK还提供JSONXML模块来解析结果。