0

我正在使用 SOAP 方法使用 Web 服务。我必须在 android eclipse 上创建一个编辑文本框和一个按钮,这应该类似于这个web
服务这里我想通过使用 web 服务在 android eclipse 中显示一些文本,即 edittextbox应该从用户那里获取输入并准确打印上述 web 服务将显示的内容。
我已经尝试过,但它不起作用。任何人都可以让我知道想法或一些示例代码,如果你有的话。

感谢您的宝贵时间!..

4

1 回答 1

-1

Manick,指定你的问题你想做什么?你有一个edittext和一个按钮和网络服务数据。当您输入 edittext 并单击按钮时,应根据用户输入列出网络服务数据。或其他任何东西。试试这个

好吧,让我们来看看!

首先,您必须从这里为您的项目下载 KSOAP 库,这是一个适用于 Android 平台的轻量级且高效的 SOAP 客户端库。将此库添加到您的项目中。以下代码将帮助您 -

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();
}

希望这会帮助你。乐趣!

于 2012-05-23T14:33:46.267 回答