0

我是 android 编程新手,并且开发了这个应用程序,它接受 Kg 中的参数并使用 Web 服务将其转换为克,但是在模拟器上运行时,应用程序显示“不幸的是 Android WebService 已停止”,并且显示 logcat 中的主要问题“找不到 org.ksoap2.serialization.SoapObjectare” 虽然我已经包含了“ksoap2-android-assembly-2.5.4-jar-with-dependencies” jar 文件...请帮助

这是我的代码:

package com.sencide;



private final String NAMESPACE = "http://www.webserviceX.NET/";
private final String URL = "http://www.webservicex.net/ConvertWeight.asmx";
private final String SOAP_ACTION = "http://www.webserviceX.NET/ConvertWeight";
private final String METHOD_NAME = "ConvertWeight";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    String weight = "3700";
    String fromUnit = "Grams";
    String toUnit = "Kilograms";

    PropertyInfo weightProp =new PropertyInfo();
    weightProp.setName("Weight");
    weightProp.setValue(weight);
    weightProp.setType(double.class);
    request.addProperty(weightProp);

    PropertyInfo fromProp =new PropertyInfo();
    fromProp.setName("FromUnit");
    fromProp.setValue(fromUnit);
    fromProp.setType(String.class);
    request.addProperty(fromProp);

    PropertyInfo toProp =new PropertyInfo();
    toProp.setName("ToUnit");
    toProp.setValue(toUnit);
    toProp.setType(String.class);
    request.addProperty(toProp);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try 
    {
        androidHttpTransport.call(SOAP_ACTION, envelope);
        SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
        Log.i("myApp", response.toString());

        TextView tv = new TextView(this);
        tv.setText(weight+" "+fromUnit+" equal "+response.toString()+ " "+toUnit);
        setContentView(tv);

    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

}

4

4 回答 4

1

将 jar 添加到“libs”文件夹而不是 lib 文件夹,然后添加到构建路径。

于 2012-06-06T18:57:47.960 回答
0

您是否已将 JAR 添加到您的构建路径中?

在您的包资源管理器中,右键单击 JAR 文件并选择:构建路径 > 添加到构建路径

另外,如果你只是做一个简单的转换,你为什么要使用 WebService?这可以在不连接到互联网的情况下更快地完成......只需我额外的两美分

于 2012-06-06T18:43:08.540 回答
0

我做了同样的事情并解决了 Java Build Path 选项,Order And Export 选项卡中 kosoap2 库上的问题检查复选框。

于 2013-03-19T09:14:48.210 回答
0

我做了如下:

  1. 将 jar 添加到“libs”文件夹,然后添加到构建路径。
  2. 在 Java Build Path 选项,Order And Export 选项卡中选中 kosoap2 库上的复选框。

问题就解决了。

于 2013-11-20T02:00:56.063 回答