栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android加载服务器的静态图片文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android加载服务器的静态图片文件

问题描述:

在获得服务器接口的json之后,将一切信息都显示出来稳妥后,来搞比较特别的图片加载,服务器文件夹的所有静态图片存放在本地,想要在Android加载服务器静态图片,如下是使用的第一种方法,按道理是可以的,但是因为我想加载到listView中,这个是适配器中的文件,单独给每个列表中的图片资源进行加载,在传送过来的context中却无法使用线程更新控件,卡在这就很尴尬。但是在正常的Activity中这种写法是可以的。

    private void InternetSever(String url, ImageView imageView1) {
        OkHttpClient client = new OkHttpClient();
        final Request request = new Request.Builder()
                .url(url)
                .get()
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                System.out.println(e);
                Looper.prepare();
                Toast.makeText(context, "网络异常,请稍后再试!", Toast.LENGTH_SHORT).show();
                Looper.loop();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

                final byte[] data = response.body().bytes();
                Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
                //通过imageview,设置图片
                imageView1.setImageBitmap(bitmap);
            }
        });


    }


解决方案:

使用了第三方库

//    加载网络图片
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'com.android.support:appcompat-v7:24.2.1'

使用方法也是非常的无脑:

        ImageView imageView1 = view1.findViewById(R.id.image1);
        String url = URL + "/media/" + list.get(position).getNews_avatars();
		//        InternetSever(url, imageView1);
        Glide.with(context)         //主要这一句
                .load(url)
                .into(imageView1);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号