如何实现Java客户端应用程序(Android)和PHP服务器应用程序之间的通信?
我有一个简单的Java客户端应用程序(Android应用程序)。 我必须编写一个PHP服务器应用程序,它接收来自Java客户端应用程序的请求,将一些数据写入MySQL数据库或从MySQL数据库中读取一些数据。 它应该响应状态消息(写入失败/成功)或分别请求的数据。
我如何让Java客户端发送请求并从PHP程序接收回复?PHP程序将如何接收请求并发送回复? 我已经搜索了SOAP和REST架构,但是寻找一个简单的教程,这将允许我实现这个简单的程序。
谢谢。
使用基本的Java SE API,您可以使用java.net.URLConnection
来触发HTTP请求。 触发GET
请求的基本示例可以在关于该主题的Sun教程中找到。 POST
请求没有太大区别,您只需将URLConnection#setDoOutput()
为true
,并将查询字符串写入URLConnection#getOutputStream()
而不是URL。
请注意,它是“懒惰地执行”,只有在您实际通过URLConnection#getInputStream()
获取响应流时才会触发请求,即使您不需要它。
如果您想要更少的详细代码和/或更多控制请求,那么我可以建议使用Apache Commons HttpComponents Client 。
反过来,PHP程序可以通常的方式编写。 通过$_GET
, $_POST
等获取请求参数并echo
显响应。 这里没有什么特别需要做的。 但是,您可以考虑使用更简单的可解析响应格式,例如XML或JSON。
您应该使用PHP构建一个简单的基于JSON或XML的REST Web服务。
然后使用Android SDK,您可以使用HttpClient模块连接到您的Web服务。 SDK还提供了一个JSON和XML模块来解析结果。