安卓网络下载图片picasso的使用

利用异步任务方法

publicclassimageTaskextendsActivity{

privateImageViewimageView;

privateButtonbutton;

privatestaticStringURL="http://e.hiphotos.baidu.com/zhidao/pic/item/a2cc7cd98d1001e92d0c404ebe0e7bec54e797ba.jpg";

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.task);

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

imageView=(ImageView)findViewById(R.id.image);

button.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

newmyasyncTask().execute(URL);

}

});

}

 

classmyasyncTaskextendsAsyncTask<String,Void,Bitmap>{

 

//后台耗时操作

@Override

protectedBitmapdoInBackground(String...params){

//传递进来的参数

Stringurl=params[0];

Bitmapbitmap=null;

URLConnectionconnection;

InputStreaminputStream;

try{

//访问网络

 

connection=newURL(url).openConnection();

inputStream=connection.getInputStream();//获得输入流

BufferedInputStreambis=newBufferedInputStream(inputStream);//包装输入流

//通过decodeStream方法解析输入流

 

bitmap=BitmapFactory.decodeStream(bis);//将输入流解析成bitmap

inputStream.close();

bis.close();

}catch(IOExceptione){

e.printStackTrace();

}

 

returnbitmap;

}

 

//返回的类型

@Override

//操作ui设置图像

protectedvoidonPostExecute(Bitmapbitmap){

super.onPostExecute(bitmap);

imageView.setImageBitmap(bitmap);

}

 

//开始前的操做

@Override

protectedvoidonPreExecute(){

super.onPreExecute();

}

 

//百分比

@Override

protectedvoidonProgressUpdate(Void...values){

super.onProgressUpdate(values);

}

}

}

利用开源库picasso

一般的图片下载步棸:

 

1.使用异步任务或者handler+thread

2.使用bitmapFactory对图片进行解析

3.显示图片

 

 

 

 

现在gradle方法中添加

compile'com.squareup.picasso:picasso:2.5.2'

Picasso的使用步骤

先使用picassowith方法应以一个全局的默认的picassoload的方法传进去网络图片的url地址然后用into方法传进去图片的控件

完成图片的显示

 

packagecn.data.laoluo.picasso_project;

 

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.support.v7.app.ActionBarActivity;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.ImageView;

 

importcom.squareup.picasso.Picasso;

 

/**

*图片下载的步骤:

*1、使用异步任务或者handler+thread获取图片资源

*2、使用bitmapFactory对图片进行解码

*3、显示图片

*/

publicclassMainActivityextendsActivity{

 

privateButtonbutton;

privateImageViewimageView;

privatefinalStringIMAGE_PATH="http://banbao.chazidian.com/uploadfile/2016-01-25/s145368924044608.jpg";

 

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

imageView=(ImageView)findViewById(R.id.imageView);

button.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewv){

Picasso.with(MainActivity.this).load(IMAGE_PATH).into(imageView);

}

});

}

 

}

 

猜你喜欢

转载自blog.csdn.net/qq_28938627/article/details/51671188