HTTP的应用httpclient 和线程

时间:2022-07-29 18:41:26
package com.example.service;

import java.io.IOException;
import java.io.InputStream; import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.widget.ImageView; public class MainActivity extends Activity { static ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image=(ImageView) findViewById(R.id.image);
/* Intent intent=new Intent(this, MyService.class);
startService(intent);*/ new thrad().start(); }
Handler handle=new Handler(){ @Override
public void handleMessage(Message msg) { image.setImageBitmap((Bitmap) msg.obj);
} };
class thrad extends Thread{ @Override
public void run() {
HttpClient http=new DefaultHttpClient();
HttpGet request=new HttpGet("http://dh2.kimg.cn/www/meinv/5/7f/547f54c2a9712b8b2e7be7a5ca2fe5fd-af35e4");
HttpResponse response = null;
try {
response = http.execute(request);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
InputStream in = null;
try {
in = response.getEntity().getContent();

      //String str=EntityUtils.toString(response.getEntity());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//服务器返回的数据
Bitmap bitmap=BitmapFactory.decodeStream(in);
Message msg=handle.obtainMessage();
msg.obj=bitmap;
handle.sendMessage(msg);
try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
}