0
我試圖通過按鈕訪問Apache服務器。用於Android開發的HTTP發佈請求 - 幫助調試
我正在向服務器發送消息並收到消息。我在文本字段上顯示該消息。
我的代碼不工作,我不知道如何調試。我附上我的代碼和PHP腳本。我是一個初學者,所以任何幫助將不勝感激。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view) {
HttpURLConnection request = null;
try {
String myURL = "http://creative.colorado.edu/";
URL url = new URL(myURL);
request = (HttpURLConnection) url.openConnection();
//To post output request
request.setDoOutput(true);
request.setRequestMethod("POST");
request.setRequestProperty("message", "text/plain");
String input = "I am ok";
OutputStream outputPost = new BufferedOutputStream(request.getOutputStream());
outputPost.write(input.getBytes());
outputPost.flush();
outputPost.close();
BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream()));
String inputLine;
while((inputLine = in.readLine()) != null){
System.out.println(inputLine);
}
in.close();
System.out.println(inputLine);
TextView displayMessage = (TextView) findViewById(R.id.textView2);
displayMessage.setText(in.toString());
}
catch (Exception ex) {
}
finally {
if (request != null) {
request.disconnect();
}
}
}
}
這裏是我使用的(我不能肯定它是正確的)的PHP腳本:
<?php
//Read request parameters
$message= $_POST[「message」];
// Store values in an array
$returnValue = array(「message」=>$message);
// Send back request in JSON format
echo json_encode($returnValue);
?>
對不起,php腳本似乎沒有被粘貼。這裏是: <?php //讀取請求參數 $ message = $ _POST [「message」]; //將值存儲在數組中 $ returnValue = array(「message」=> $ message); //以JSON格式發回請求 echo json_encode($ returnValue); ?> – user6951109
你不調用方法'sendMessage'。您不能在與網絡操作相同的線程中將文本設置爲TextView。 –
你實際上是在你的PHP代碼中使用這些「聰明的引號」(斜角引號)嗎?你應該使用直引號。 – Chris