首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

简单的http get调用4.0出错,

2012-10-13 
简单的httpget调用4.0出错,求助!!!简单的httpget调用4.0出错,求助!!!加了网络限权的。package com.example.

简单的http get调用4.0出错,求助!!!
简单的http get调用4.0出错,求助!!!


加了网络限权的。



package com.example.aaaaa;

import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
   
try {
//new ShopLogin(userName.getText().toString(), passWord.getText().toString()).Login();

HttpGet httpGet = new HttpGet("http://www.baidu.com");
DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
defaultHttpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 5000);
HttpResponse httpResponse = defaultHttpClient.execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
byte[] bResultJson = EntityUtils.toByteArray(httpResponse.getEntity());
String resultJson = new String(bResultJson, "UTF-8");
if (!"".equals(resultJson) && resultJson != null) {

Log.i("aaa", resultJson);
}
}


} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  }


}


LOG






[解决办法]
andoid 3.0以上 强制策略限制了 你可以另外开个线程执行http操作 
或者在oncreate()函数中加入这两句代码去除策略限制也可以解决你的问题


StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
[解决办法]
你的设备或者模拟器能上网么?
[解决办法]
不能在主线程中访问网络

Java code
new Thread(){    @Override    public void run()    {     //你那段try开始的代码放这里    }}.start(); 

热点排行