我有最难的时间,我想要的是我的Android应用程序将STRING发送到我的服务器,然后我的服务器将根据在PHP中发送的STRING选择一个函数。函数完成后,它将返回一个JSONObject。我不想使用任何Deprecated方法。我正在尝试实现向服务器发送STRING以解析并在PHP中使用适当的函数然后将JSON发送回我的Android应用程序。任何人都可以从android端显示一些代码吗?
所以我正在寻找的是,帮助Android代码将STRING发送到服务器,然后从服务器读取响应,这将是一个JSON。
答案 0 :(得分:1)
对于Android,您可以使用HTTP连接URL。这里提到了一个例子How to add parameters to HttpURLConnection using POST
URL url = new URL("http://yoururl.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("name", "Chatura"));
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(params));
writer.flush();
writer.close();
os.close();
conn.connect();
...
private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
StringBuilder result = new StringBuilder();
boolean first = true;
for (NameValuePair pair : params)
{
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
}
return result.toString();
}
对于PHP,只接受来自Andrid的帖子请求,如下所示
<?php
echo '{ "name" = "Hello ' . htmlspecialchars($_POST["name"]) . '"}';
?>