提示,,unfortunately has stopped

解决方案 »

  1.   


    这是我写的例子,你看看。AndroidManifest.xml里面记得加网络权限
     <uses-permission android:name="android.permission.INTERNET" />
        
    package com.example.test;import java.io.UnsupportedEncodingException;import org.ksoap2.SoapEnvelope;
    import org.ksoap2.serialization.SoapObject;
    import org.ksoap2.serialization.SoapSerializationEnvelope;
    import org.ksoap2.transport.AndroidHttpTransport;import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;public class MainActivity extends Activity {
    private static final String NAMESPACE = "http://WebXml.com.cn/";
    // WebService地址
    private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
    private static final String METHOD_NAME = "getWeatherbyCityName";
    private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName"; private String weatherToday;
    private TextView textView;
    private Button okButton;
    private SoapObject detail;
    private Handler handler = new Handler(){ @Override
    public void handleMessage(Message msg) {
    textView.setText((String)msg.obj);
    Toast.makeText(MainActivity.this, detail.toString(),
    Toast.LENGTH_LONG).show();
    super.handleMessage(msg);
    }

    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    okButton = (Button) findViewById(R.id.btn_ok); okButton.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
    showWeather();
    }
    });

    textView = (TextView) findViewById(R.id.text);
    } private void showWeather() {
    final String city = "武汉";
    new Thread(new Runnable() {
    @Override
    public void run() {
    getWeather(city);
    }
    }).start();
    } @SuppressWarnings("deprecation")
    public void getWeather(String cityName) {
    try {
    System.out.println("rpc------");
    SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
    System.out.println("rpc" + rpc);
    System.out.println("cityName is " + cityName);
    rpc.addProperty("theCityName", cityName); AndroidHttpTransport ht = new AndroidHttpTransport(URL);
    ht.debug = true; SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
    SoapEnvelope.VER11); envelope.bodyOut = rpc;
    envelope.dotNet = true;
    envelope.setOutputSoapObject(rpc); ht.call(SOAP_ACTION, envelope); SoapObject result = (SoapObject) envelope.bodyIn;
    detail = (SoapObject) result
    .getProperty("getWeatherbyCityNameResult"); System.out.println("result" + result);
    System.out.println("detail" + detail);
    parseWeather(detail);

    Message msg = handler.obtainMessage();
    msg.obj = weatherToday;
    handler.sendMessage(msg);
    } catch (Exception e) {
    e.printStackTrace();
    }
    } private void parseWeather(SoapObject detail)
    throws UnsupportedEncodingException {
    String date = detail.getProperty(6).toString();
    weatherToday = "今天:" + date.split(" ")[0];
    weatherToday = weatherToday + "\n天气:" + date.split(" ")[1];
    weatherToday = weatherToday + "\n气温:"
    + detail.getProperty(5).toString();
    weatherToday = weatherToday + "\n风力:"
    + detail.getProperty(7).toString() + "\n";
    System.out.println("weatherToday is " + weatherToday); }
    }
      

  2.   

    错误信息在 Eclipse 的 logcat 窗口
      

  3.   

    有结果了吗?我的也是报这个错误,是不是非得把<uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="18" />封掉才行?不过这样会很麻烦,我用的4.3的环境