2014-05-14 89 views
-1

我想從JSON字符串從android應用程序發送到PHP服務器。雖然我沒有在服務器端實現任何合理的編碼,但足以看到會發生什麼。讓我告訴你我的Android代碼和PHP代碼。問題是我沒有得到任何東西在服務器上。根本沒有迴應。我實際上在本地服務器上用Python代碼驗證了這個程序,並且我收到了預期的輸出,但在PHP上什麼都沒有。由於我是PHP新手,一定有一些我不知道的東西。Android到PHP服務器沒有收到數據

這是ANDROID代碼:這是運行在不同的線程。

public void onSync(View v) throws JSONException, IOException { 

     //This will call onSync function. 

     handler.sendEmptyMessage(MSG_SYNC); 

    } 


    protected void onSync_() { 

     String json = null; 
     try { 
      json = database.getAllAsJSONString(); 
     } catch (JSONException e) { 
      Log.e("", "Could not convert to JSON", e); 
     } 
     HttpURLConnection urlConnection = null; 
     OutputStream out = null; 
     try { 
      byte[] jsonBytes = json.getBytes("UTF-8"); 
      URL url = new URL("http://androidapplicati.base.pk"); 
      urlConnection = (HttpURLConnection) url.openConnection(); 
      urlConnection.setRequestMethod("POST"); 
      urlConnection.setDoOutput(true); 
      urlConnection.setFixedLengthStreamingMode(jsonBytes.length); 
      urlConnection 
        .setRequestProperty("Content-Type", "application/json"); 
      urlConnection.setRequestProperty("Content-Length", 
        String.valueOf(jsonBytes.length)); 

      out = urlConnection.getOutputStream(); 
      out.write(jsonBytes); 
      out.flush(); 
      urlConnection.getInputStream().read(); 
     } catch (MalformedURLException e) { 
      Log.e("", "Error posting data(1)", e); 
     } catch (IOException e) { 
      Log.e("", "Error posting data(2)", e); 
     } finally { 
      try { 
       out.close(); 
      } catch (Exception e) { 
       Log.w("", "Error closing stream", e); 
      } 
      urlConnection.disconnect(); 
     } 

這裏是PHP代碼。

<?php 

print_r($_REQUEST); 

var_dump($_REQUEST); 

?> 
+0

'NetworkOnMainThreadException'請看看的AsyncTask使HTTP調用 –

+0

我調用不同的線程中此功能。所以這個調用不在主線程中。 – Shah

回答

0

你不發送數據爲重點,纈氨酸對 所以它不是存儲在$_REQUEST[]陣列 ,所以我認爲你需要以不同的方式來讀它,我之前遇到過這個,

也,您看不到PHP頁面的輸出 ,因此您要麼讀取http-call響應並將其記錄到您的移動應用程序 或者將該值保存在服務器上的文本文件中,以便您可以知道發生了什麼,

在你的php中試試這個:

$data = file_get_contents("php://input"); 
writeToFile('myfile.txt',$data); 

也,其良好的使用HttpClient

+0

這就是我要求發送的內容。 [{「title」:「First entry」,「address」:「Street 14,city,country」}] – Shah

+0

你試過了上面的代碼嗎? – Yazan

+0

感謝他解決了我的問題在那裏停留了幾個小時。我接近拋出我的手機,而不是製造這臺服務器的突擊人員。 – Shah

相關問題