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); }