Handler机制从网络下载图片-创新互联

多线程从网络下载图片

公司主营业务:成都网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出卢氏免费做网站回馈大家。

利用了handler机制

package com.example.testhandler;

import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

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.app.ProgressDialog;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

public class TestHandler extends Activity {

private Button btnDown;

private ImageView img;

private static String p_w_picpath_path = "/upload/otherpic17/20100322095024-1008716746.jpg";

private ProgressDialog dialog;

private static int IS_FINISH = 1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnDown = (Button) findViewById(R.id.btnDown);

img = (ImageView) findViewById(R.id.ivSinaImage);

dialog = new ProgressDialog(this);

dialog.setTitle("提示信息");

dialog.setMessage("正在下载中,请稍后...");

dialog.setCancelable(false);

btnDown.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

new Thread(mRunnable).start();

dialog.show();

}

});

}

private Runnable mRunnable = new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

HttpClient httpClient = new DefaultHttpClient();

HttpGet httpGet = new HttpGet(p_w_picpath_path);

HttpResponse httpResponse = null;

try {

httpResponse = httpClient.execute(httpGet);

if (httpResponse.getStatusLine().getStatusCode() == 200) {

byte[] data = EntityUtils.toByteArray(httpResponse

.getEntity());

// 获取一个Message对象,设置what为1

Message msg = Message.obtain();

msg.obj = data;

msg.what = IS_FINISH;

// 发送这个消息到消息队列中

handler.sendMessage(msg);

}

} catch (Exception e) {

e.printStackTrace();

}

}

};

private  Handler handler = new Handler() {

// 在Handler中获取消息,重写handleMessage()方法

@Override

public void handleMessage(Message msg) {

// 判断消息码是否为1

if(msg.what==IS_FINISH){

byte[] data=(byte[])msg.obj;

Bitmap bmp=BitmapFactory.decodeByteArray(data, 0, data.length);

img.setImageBitmap(bmp);

dialog.dismiss();

}

}

};

}

网络权限

activity_main.xml文件中只有两个空间

一个Button按钮 一个ImageView

Handler机制从网络下载图片

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:Handler机制从网络下载图片-创新互联
本文URL:http://ybzwz.com/article/diiggo.html