2015-10-22 44 views

回答

0

是的,您可以通過爲每個調用指定方法名稱來調用所有方法。 如:

public static String connect(String methodName, String[] args,String[] values) { 

     try { 
     SoapObject request = new SoapObject(YOUR_NAMESPACE, methodName); 
     int i = 0; 

     for (String s : args) { 
      PropertyInfo propInfo = new PropertyInfo(); 
      propInfo.name = s; 
      propInfo.type = PropertyInfo.STRING_CLASS; 
      request.addProperty(propInfo, values[i]); 
      i++; 
     } 
     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
       SoapEnvelope.VER11); 
     envelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(
       YOUR_URL); 
     androidHttpTransport.call(YOUR_NAMESPACE + methodName, envelope); 
     SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope 
       .getResponse(); // Receiving return string 

     String result = resultsRequestSOAP.toString(); 
     if (result != null) { 
      return result; 
     } 
     return ""; 
     } catch (Exception ex) { 
      ex.printStackTrace(); 

      Log.d("Web Service Exception", ex.toString()); 
      return ""; 
     } 
    } 

和使用輔助方法,如

public static String Get_ID(parameter) { 
     String[] args = new String[1]; 
     String[] values = new String[1]; 

     args[0] = "parameter"; 

     values[0] = parameter; 

     String result = connect("Get_ID", args, values); 

     return result; 
    } 

如果你有一個以上的方法,然後用repeate特定參數和方法名輔助方法。然後可以調用此輔助方法來獲取活動中的數據。

+0

我已經更新了我的問題。你能看出它有可能嗎?非常感謝您的考慮。 –

+0

是的,你可以。如果你想訪問每個方法,首先創建一個像上面提到的幫助方法。然後指定參數作爲參數。 – userDroid