httpget获取字符串失败,请大神帮忙看一下。 log里好像没有有用信息,代码方法返回什么样的值? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我把你的代码拿下来执行,发现确实有问题。修改后完美执行。 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); } }} 安卓新手问题 lame使用问题 成為高級Android開發工程師 有人知道哪个android应用有弹动效果? 测试Android中Bluetooth的功能 大家都来总结哈android出现的异常~ Android APK开机启动问题 android如何监听音量键触发事件? android NDK 环境问题 小白求助,急,在线等,Android studio 安装问题 百度定位SDK3.3定位失败 求助帖
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);
}
}
}