0

私はAndroidプログラミングに不慣れで、Kgのパラメーターを受け取り、Webサービスを使用してグラムに変換するこのアプリを開発しましたが、エミュレーターで実行している間、アプリは「残念ながらAndroid Webサービスが停止しました」と表示され、logcatの主な問題が表示されます」 「ksoap2-android-assembly-2.5.4-jar-with-dependencies」jarファイルを含めましたが、org.ksoap2.serialization.SoapObjectareが見つかりません...助けてください

これは私のコードです:

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 を lib フォルダーではなく「libs」フォルダーに追加してから、ビルド パスに追加します。

于 2012-06-06T18:57:47.960 に答える
0

私は同じことをして、Java Build PathオプションのOrder And Exportタブでkosoap2ライブラリの問題チェックチェックボックスを解決しました。

于 2013-03-19T09:14:48.210 に答える
0

JAR をビルド パスに追加しましたか?

パッケージ エクスプローラーから、JAR ファイルを右クリックし、[ビルド パス] > [ビルド パスに追加] を選択します。

また、単純な変換を行うだけなら、なぜ WebService を使用するのでしょうか? それは、インターネットに接続しなくても、はるかに迅速に行うことができます... 追加の 2 セントだけです。

于 2012-06-06T18:43:08.540 に答える
0

私は次のようにしました:

  1. jar を「libs」フォルダーに追加してから、ビルド パスに追加します。
  2. Java ビルド パス オプションの [注文とエクスポート] タブで kosoap2 ライブラリのチェックボックスをオンにします。

そして、問題は解決しました。

于 2013-11-20T02:00:56.063 に答える