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

2019-04-15 15:00发布

利用异步任务方法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{ //后台耗时操作 @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+thread2.使用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); } }); } }