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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值