2012-01-19 64 views
0

任何人都可以引導我使用kso​​ap2或其他方式連接android到php web服務的教程或工作示例?如何將android連接到php web服務

+0

可能重複http://stackoverflow.com/questions/6929180/rest-and- soap-webservice-in-android) –

回答

0

進出口使用我的PHP Web網頁是這樣的:

的Java:

// params => "?action=getInfos" 
private JSONObject getJSONObject(String params) 
{ 
    try 
    { 
     String url = path2webservicephp + params; 

     System.out.println("Call URL: " + url); 

     HttpGet request = new HttpGet(url); 

     request.setHeader("Content-Type", "text/xml;charset=UTF-8"); 

     DefaultHttpClient httpclient2 = new DefaultHttpClient(); 

     HttpResponse response = httpclient2.execute(request); 

     if (response.getStatusLine().getStatusCode() != 200) 
      throw new ConnectionException("Status Code is " + response.getStatusLine().getStatusCode() + ": " + response.getStatusLine().getReasonPhrase()); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
     String line = reader.readLine(); 

     MyConstants.RECEIVEDBYTES += line.length(); 

     reader.close(); 
     if ("[]".equals(line)) 
      return null; 
     return new JSONObject(line); 
    } 
    catch (Exception e) 
    { 
     LLog.e(Webservice.class, "Exception! params: " + params); 
     LLog.e(e, Webservice.class); 
    } 
    return null; 
} 

// LLog.e是從我自己的類。它記錄到Log.e併成一個文件

PHP:

$array = array('status' => 'ok', 'message' => 'your action was: '.$_GET['action']); 
echo json_encode($array); 
[android的REST和SOAP Web服務](中
+0

這將返回wsdl,不調用該方法並取回結果。 – user1157662

+0

我的webservice完成了我用PHP編寫的內容,併爲我的「工作」提供了一個響應。 我用ksoap2試了一下,但用JSON寫一個自己對我來說更簡單。 (因爲我討厭XML ......) 它和很大的「學習效果」結合在一起非常有趣。 – PKeidel

+0

老兄,我知道你是對的。但事情是,該方法根本沒有被調用。對我來說,響應是一個xml字符串,但它只是返回wsdl,而且要注意我的web服務是在Yii php框架的幫助下編寫的......我甚至準備好JSON,如果它適用於調用。 – user1157662