zoukankan      html  css  js  c++  java
  • android之volley学习

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

    获取Volley

    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.jar

    一:volley请求加载图片

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

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

    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);
        }
  • 相关阅读:
    IE浏览器不能启动,双击启动图标无效
    提示Internet Explorer 9 已安装在此系统上,无法完成安装
    React项目跨域处理(两种方案)
    Mock数据模拟Node服务器
    【LeetCode】15. 3Sum
    【C++】int与string互转
    【LeetCode】37. Sudoku Solver
    【LeetCode】149. Max Points on a Line
    【LeetCode】104. Maximum Depth of Binary Tree (2 solutions)
    【LeetCode】140. Word Break II
  • 原文地址:https://www.cnblogs.com/DonAndy/p/6212720.html
Copyright © 2011-2022 走看看