第四天——okgo

首先需要放入依赖(okgo)

implementation 'com.lzy.net:okgo:3.0.4'

一 get请求

OkGo.<String>get(prth).execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {
                        Log.i("123", "成功" + response.body());
                    }

                    @Override
                    public void onError(Response<String> response) {
                        super.onError(response);
                        Log.i("123", "失败" + response.body());
                    }
                });

二 post请求

HashMap<String, String> hashMap = new HashMap();
                hashMap.put("limit", "20");
                hashMap.put("page", "1");
                OkGo.<String>post(pass).params(hashMap).execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {
                        Log.i("123", "成功" + response.body());
                    }

                    @Override
                    public void onError(Response<String> response) {
                        super.onError(response);
                        Log.i("123", "失败" + response.body());
                    }
                });

三 下载

OkGo.<File>get(paas).execute(new FileCallback("/sdcard/Music", "zhao.mp4") {
                    @Override
                    public void onSuccess(Response<File> response) {
                        Log.i("123", "成功" + response.body());
                    }

                    @Override
                    public void onError(Response<File> response) {
                        super.onError(response);
                        Log.i("123", "失败" + response.body());
                    }
                    
                    //这里可以设置下载进度
                    @Override
                    public void downloadProgress(Progress progress) {
                        super.downloadProgress(progress);
                        float fraction = progress.fraction;
                        progressBar.setProgress((int) (fraction * 100));
                    }
                });

四 下载照片(转换成bitmip)

OkGo.<Bitmap>get("").execute(new BitmapCallback() {
                    @Override
                    public void onSuccess(Response<Bitmap> response) {
                        image_layout.setImageBitmap(response.body());
                    }
                });

五 封装一个解析类

package com.example.myday93_lianxi;

import com.google.gson.Gson;
import com.lzy.okgo.callback.AbsCallback;

import okhttp3.Response;

public abstract class Okjson<T> extends AbsCallback<T> {

    private Class<T> bclass;

    public Okjson(Class<T> bclass) {
        this.bclass = bclass;
    }

    @Override
    public T convertResponse(Response response) throws Throwable {
        String string = response.body().string();
        Gson gson = new Gson();
        T t = gson.fromJson(string, bclass);

        return t;
    }
}

在主activity中调用

直接解析完毕

 OkGo.<Jsonbean>get("").execute(new Okjson<Jsonbean>(Jsonbean.class) {
		                    @Override
		                    public void onSuccess(Response<Jsonbean> response) {
		                        Jsonbean body = response.body();
		                        List<Jsonbean.DataBean> data = body.getData();
		                    }
		                });

Glied调用与显示

放入依赖 :

implementation 'com.github.bumptech.glide:glide:4.5.0'

正常调用:(网络获取图片并设置到控件)

RequestManager with = Glide.with(添加上下文);
                RequestBuilder<Drawable> load = with.load(网址);
                load.into(设置到的控件);

设置圆形(加apply设置圆形或者圆角)

RequestManager with = Glide.with(this);
                              RequestBuilder<Drawable> load = with.load().apply(new RequestOptions());
                load.into();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值