我終於找到隨着研究的意見和時間的幫助下簡單的解決方案:
你可以簡單的調用該方法通過使用這樣的:
HashMap<String , String> postDataParams = new HashMap<String, String>();
postDataParams.put("name", "value");
performPostCall("URL", postDataParams);
Java代碼:
public String performPostCall(String requestURL,
HashMap<String, String> postDataParams) {
URL url;
String response = "";
try {
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
String line;
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line=br.readLine()) != null) {
response+=line;
Log.e("Res:", response);
}
}
else {
response="";
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
private String getPostDataString(HashMap<String, String> params) throws UnsupportedEncodingException {
StringBuilder result = new StringBuilder();
boolean first = true;
for(Map.Entry<String, String> entry : params.entrySet()){
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
}
return result.toString();
}
在PHP方面,你可以通過使用得到的數據:
$_POST['name']
,你可以通過簡單地這樣做回送響應:
echo "response here..";
發送數據eppending一起網址是什麼?和名稱值對,因爲我看得出來,你只使用GET在PHP方法,和u可以通過JSON對象接收和Android的最終解析它 – KOTIOS
爺我不介意使用JSON對象,但我不知道如何做到這一點在Android那麼我不知道如何發送回從PHP到Android的響應,並接收Android上的數據。你能告訴我一個例子嗎? :) – edwinj
http://stackoverflow.com/questions/32226832/android-and-php-creating-an-api這一個可以幫助你的方式來使用namevalue對 –