我有一个简单的Java客户端应用程序(Android应用程序)。我必须编写一个PHP服务器应用程序,它接收来自Java客户端应用程序的请求,将一些数据写入MySQL数据库或从MySQL数据库中读取一些数据。它应该响应状态消息(写入失败/成功)或分别请求的数据。
我如何让Java客户端发送请求并从PHP程序接收回复?PHP程序将如何接收请求并发送回复?我已经搜索了SOAP和REST架构,但是寻找一个简单的教程,这将允许我实现这个简单的程序。
感谢。
答案 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还提供JSON和XML模块来解析结果。