我正在使用SOAP方法来使用Web服务。我必须在android eclipse上创建一个编辑文本框和一个按钮,它应该与此webservice类似。
在这里我想通过消费web服务在android eclipse中显示一些文本。即edittextbox应该从用户那里获得输入并准确打印上述web服务将要显示的内容。
我试过但它不起作用。如果有的话,任何人都可以让我知道想法或一些示例代码。
感谢宝贵的时间!..
答案 0 :(得分:-1)
Manick,请指出您想要做的问题?你有一个edittext和一个按钮和webservice数据。当您键入edittext并单击按钮时,不应按用户输入列出Web服务数据。或其他任何东西。试试this
好的,让我们看看!
首先,您必须从here为Android平台下载轻量级且高效的SOAP客户端库,为您的项目下载KSOAP库。将此库添加到项目中。以下代码将帮助您 -
private Button button1;
private EditText editText1;
public void onClick(Bundle b){
........//type your other code here
editText1 = (EditText) findViewById(R.id.editText1);
button1 = (EditText) findViewById(R.id.button1);
button.setOnClickListener(this);
........//type your other code here
}
@Override
public void onClick(){
SoapObject soapResponseObject = getSOAPResponse(editText1.getText());
String result= soapResponseObject.getProperty(0).toString();
//use result to into your code to your own way
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
}
//getSOAPResponse() method returns SOAP Response
public SoapObject getSOAPResponse(String search){
SoapObject soapObject = new SoapObject("http://www.webservicex.net", "GetBibleWordsbyKeyWord");
soapObject.addProperty("BibleWords", search);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE androidHttpTransport = new HttpTransportSE("http://www.webservicex.net/BibleWebservice.asmx?");
try {
androidHttpTransport.call("http://www.webserviceX.NET/GetBibleWordsbyKeyWord", envelope);//call the eb service Method
} catch (Exception e) {
e.printStackTrace();
}
return (SoapObject) envelope.response();
}
希望这会对你有所帮助。有趣!