log里好像没有有用信息,代码方法返回什么样的值?

解决方案 »

  1.   

    我把你的代码拿下来执行,发现确实有问题。修改后完美执行。
     W/System.err(22253): android.os.NetworkOnMainThreadException日志很明显,在主线程里进行网络获取数据
    高版本的安卓(忘了从几开始了),已经不允许这么用了。下面的代码可以随便运行。
    package com.example.testapp;import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;public class MainActivity extends Activity {
    private Button btn1 = null;
    private TextView t1 = null;
    private final String STRURL = "http://www.baidu.com/";
    private String result = null; @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn1 = (Button) findViewById(R.id.button1);
    t1 = (TextView) findViewById(R.id.t1);
    btn1.setText("测试");
    btn1.setOnClickListener(new Mylistener());
    } private Handler myhandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
    // 在handler里面进行UI的修改
    super.handleMessage(msg);
    t1.setText(result);
    }
    }; private String GetHtmlResult(String c) {
    String ResultString = "";
    HttpGet httpGetRequest = new HttpGet(STRURL);
    try {
    Log.e("net", STRURL);
    HttpResponse httpResponse = new DefaultHttpClient()
    .execute(httpGetRequest);
    if (httpResponse.getStatusLine().getStatusCode() == 200) {
    ResultString = EntityUtils.toString(httpResponse.getEntity());
    }
    } catch (Exception ex) {
    ex.printStackTrace();
    ResultString = ex.getMessage();
    }
    return ResultString;
    } public class Mylistener implements OnClickListener { @Override
    public void onClick(View arg0) {
    new Thread(new MyThread()).start(); } }; public class MyThread implements Runnable {
    @Override
    public void run() {
    result = GetHtmlResult(STRURL);
    myhandler.sendEmptyMessage(0);
    }
    }
    }