zoukankan      html  css  js  c++  java
  • Android网络开发之Volley--Volley基本用法ImageRequest(三)

    1、ImageRequest用法和StringRequest一样,主要分为3步:

    (1)、实例化一个RequestQueue对象

    (2)、设置ImageRequest对象参数,并将ImageRequest对象加入RequestQueue队列

    (3)、执行start()方法

    2、ImageLoader用法

    (1)、实例化一个RequestQueue对象

    (2)、实例化一个ImageLoader对象

    (3)、实例化一个ImageListener对象

    (4)、执行ImageLoader对象的get()方法

    3、NetworkImageView用法

    (1)、在布局文件中声明NetworkImageView

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/iv_show_image2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    (2)、设置默认图片setDefaultImageResId()

    (3)、设置出错图片setErrorImageResId()

    (4)、设置URL和ImageLoader对象

    4、完整代码

    public class ImageActivity extends Activity {
        private ImageView mIvSHow;
    
        private ImageView mIvSHow1;
    
        private RequestQueue queue;
    
        private NetworkImageView mIvShow2;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_image);
    
            initView();
        }
    
        @SuppressWarnings("static-access")
        public void initView() {
            mIvSHow = (ImageView) findViewById(R.id.iv_show_image);
            mIvSHow1 = (ImageView) findViewById(R.id.iv_show_image1);
            mIvShow2 = (NetworkImageView) findViewById(R.id.iv_show_image2);
    
            /** ImageRequest用法 */
            queue = Volley.newRequestQueue(getBaseContext());
            queue.add(imageRequest);
            queue.start();
    
            /** ImageLoader用法 */
            ImageLoader imageLoader = new ImageLoader(queue, new ImageCache() {
    
                @Override
                public Bitmap getBitmap(String url) {
                    // TODO Auto-generated method stub
                    return null;
                }
    
                @Override
                public void putBitmap(String url, Bitmap bitmap) {
                    // TODO Auto-generated method stub
    
                }
            });
    
            ImageListener imageListener = imageLoader.getImageListener(mIvSHow1, R.drawable.ic_launcher, R.drawable.he);
            imageLoader.get("https://www.baidu.com/img/bd_logo1.png", imageListener);
    
            /** NetworkImageView用法 */
            mIvShow2.setDefaultImageResId(R.drawable.ic_launcher);
            mIvShow2.setErrorImageResId(R.drawable.ic_launcher);
            mIvShow2.setImageUrl("https://www.baidu.com/img/bd_logo1.png",imageLoader);
        }
    
        /** ImageRequest请求 */
        public ImageRequest imageRequest = new ImageRequest(
                "https://www.baidu.com/img/bd_logo1.png", new Listener<Bitmap>() {
    
                    @Override
                    public void onResponse(Bitmap response) {
                        // TODO Auto-generated method stub
                        mIvSHow.setImageBitmap(response);
                    }
    
                }, 0, 0, Config.RGB_565, new ErrorListener() {
    
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        // TODO Auto-generated method stub
                        Log.e("ImageRequest", error.toString());
                    }
                });
    
    }

    5、不要忘记加入网络访问权限

    <uses-permission android:name="android.permission.INTERNET"/>

    6、参考博文:

    http://blog.csdn.net/guolin_blog/article/details/17482095/

  • 相关阅读:
    电梯调度算法---结对项目小进展
    程序的单元测试—软件工程课上所获得的感悟
    软件工程之个人项目--词频统计
    c语言中文件的读写函数
    9、访问或添加属性
    5、AOP例子(切面,通知,切入点)
    6、AOP相关概念
    4、SSH集成笔记
    3、整合SSH遇到的问题
    1、各个包的作用
  • 原文地址:https://www.cnblogs.com/begin1949/p/4925596.html
Copyright © 2011-2022 走看看