2011-03-29 151 views
0

如何從android應用程序將數據發送回服務器?Android將數據發送回服務器

我已經嘗試過使用HttpPost並回發到RESTful WCF服務,但我無法得到它的工作(我已經創建了一個關於此的問題,沒有找到解決方案..) - 無論是什麼我不斷收到405方法不允許或400錯誤請求.. :(

我不是要求完整的代碼示例必然..只是一個方向的指針,它可以使我發送數據回一臺服務器。

重要的是,用戶不應該允許或駁回轉讓..它應該在幕後發生的,可以這麼說

在此先感謝

+0

「但是有沒有發送數據的另一種方式,不涉及服務」 - 信鴿? – 2011-03-29 11:04:34

+0

我的想法就像FTP傳輸或電子郵件..無論如何..我需要做的就是發送數據到服務器。 – Herter 2011-03-29 11:25:58

+0

沒有人對此有任何建議?..我現在絕望.. – Herter 2011-03-30 18:10:21

回答

2

服務是要走的路。 REST(我推薦在Android上使用這個),或者基於SOAP。有很多關於讓android應用程序傳遞服務的教程,即使使用.net/wcf也是如此。

您可以隨時打開原始套接字並使用一些自定義協議發送數據。

編輯:

,這裏是我的AsyncTask處理HTTP POST通信的doInBackground一部分,也許這會幫助:

protected String doInBackground(String... req) { 

     Log.d(TAG, "Message to send: "+req[0]); 
     HttpPost p = new HttpPost(url); 

     try{ 
      p.setEntity(new StringEntity(req[0], "UTF8")); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
     p.setHeader("Content-type", "application/json"); 

     String response = ""; 
     try{ 
      HttpResponse resp = hc.execute(p, localContext); 
      InputStream is = resp.getEntity().getContent(); 
      response = convertStreamToString(is); 
      Log.d("Response", "Response is " + response); 
     } catch (Exception e){ 
      e.printStackTrace(); 
     } 

     return response; 
    } 
+0

問題是,我已經創建了一個WCF,我已經託管,但我根本無法發送數據到它..我可以發送GET請求很好,但所有HTTP POST請求都返回爲(HTTP 400 Bad Request)..所以我在尋找替代方案,因爲我在星期五有截止日期,而且我已經花了2-3天的時間在服務解決方案 – Herter 2011-03-29 11:29:36

+0

我不是WCF的專家,但在我的項目中,我必須通過http post消息與數十個wcf服務進行通信。在Android方面,它與發送GET請求沒有多大區別。我不太瞭解WCF這方面的東西,你確定它的正確實施? – 2011-03-29 11:39:51

+0

說實話,不,我不確定..但我已經在網上跟着例子,我的WCF和他們是一樣的。而我的GetData方法(GET請求)只是fint ..它只是數據方法(POST請求)失敗..但我現在正在尋找解決方案的所有方向 – Herter 2011-03-29 11:49:24

相關問題