android之volley学习

Volley是android的平台通讯库,一个新的网络通讯框架。Volley 的特色:适合数据量小,通讯频繁的网络操做。android

获取Volleygit

git 工具使用:
git clone https://android.googlesource.com/platform/frameworks/volley服务器

下载下来而后到eclipse后生成jar文件,放到libs下面
在已有的project中点击new->new module,而后进去选择页面网络

在选择页面能够看到,这个更友好的界面,有Library导入,.jar、.AAR等,由于此时咱们下载的是Volley.jar,因此选择 .jar
而后选择文件所在文件夹,此时做者放在桌面
接下来由于没有将库引用,因此要配置bulid.gradle,此时选择File->project structure
左侧选择app,而后右侧点击dependency,如图
而后点击右边加号第三个Module dependency,添加刚才导入的Volley.jarapp

一:volley请求加载图片框架

本地搭建一个服务器,里面放一张图片,eclipse

布局里面放一个普通的ImageView,找到图片ide

iv = (ImageView) findViewById(R.id.volley_image);

该方法在onCreate里面执行工具

 private void getVolleyImage() {
        RequestQueue requestqueue = Volley.newRequestQueue(this);
        String iamgeurl = "http://10.0.2.2/images/pic_1.jpg";
        final LruCache<String, Bitmap> lurcache = new LruCache<String, Bitmap>(20);
        ImageLoader.ImageCache imagecahe = new ImageLoader.ImageCache() {
            @Override
            public Bitmap getBitmap(String key) {
                return lurcache.get(key);
            }

            @Override
            public void putBitmap(String key, Bitmap value) {
                lurcache.put(key, value);
            }
        };
        ImageLoader imageloader = new ImageLoader(requestqueue, imagecahe);
        ImageLoader.ImageListener listener = imageloader.getImageListener(iv, R.drawable.p1, R.drawable.p1);
        imageloader.get(iamgeurl, listener);
    }

 

二:使用NetworkImageView布局

<com.android.volley.toolbox.NetworkImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="10dp"
    android:id="@+id/volley_image2" />

 

而后在onCreate里面执行

 private void getNetworkImageView() {
        String iamgeurl = "http://10.0.2.2/images/pic_1.jpg";
        RequestQueue requestqueue = Volley.newRequestQueue(this);
        final LruCache<String, Bitmap> lurcache = new LruCache<String, Bitmap>(20);

        ImageLoader.ImageCache imagecahe = new ImageLoader.ImageCache() {
            @Override
            public Bitmap getBitmap(String key) {
                return lurcache.get(key);
            }

            @Override
            public void putBitmap(String key, Bitmap value) {
                lurcache.put(key, value);
            }
        };

        ImageLoader imageloader = new ImageLoader(requestqueue, imagecahe);
        iv2.setTag("url");
        iv2.setImageUrl(iamgeurl, imageloader);
    }
相关文章
相关标签/搜索