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);
    }
相關文章
相關標籤/搜索