您的位置:首页 > 理论基础 > 计算机网络

HttpClient请求数据

2016-08-11 15:54 97 查看
public class MainActivity extends Activity {

//路径

 String path = "http://web.juhe.cn:8080/constellation/getAll?consName=处女座&type=year&key=3ac9f31ff66b9746539472887b3799c3";

 private TextView tv;

 

 Handler handler=new Handler(){

  public void handleMessage(Message msg) {

   Bean bean=(Bean) msg.obj;

   tv.setText(bean.toString());

  };

 };

 

 @Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  tv=(TextView) findViewById(R.id.tv);

 }

 // 请求数据按钮

 public void send(View v) {

  new Thread(){

   public void run() {

    getData();

   }

  }.start();

 }

 protected void getData() {

  //得到连接方式对象,设置路径

  HttpGet httpGet=new HttpGet(path);

  //得到对象

  HttpClient httpClient=new DefaultHttpClient();

  

  try {

   //GET方式请求,得到响应内容

   HttpResponse httpResponse = httpClient.execute(httpGet);

   //得到状态行

   StatusLine statusLine = httpResponse.getStatusLine();

   //得到状态码

   int statusCode = statusLine.getStatusCode();

   if(statusCode==200){

    //得到携带数据的实体

    HttpEntity entity = httpResponse.getEntity();

    //转换成String,并设置编码格式

    String data = EntityUtils.toString(entity, "utf-8");

    //开始解析

    Gson gson=new Gson();

    Bean bean = gson.fromJson(data, Bean.class);

    Message msg=Message.obtain();

    msg.obj=bean;

    handler.sendMessage(msg);

   }

   

  } catch (ClientProtocolException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  } catch (IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

  

 }

 }


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: