OkGo与Glide

本文介绍了OkGo框架在网络请求中的应用,包括基本的HTTP操作、上传下载功能、缓存策略等。同时,文章展示了如何使用Glide进行图片下载、缓存和显示,包括设置占位图、错误图、加载动画等特性。
摘要由CSDN通过智能技术生成

OkGo框架

用来处理网络请求的框架 功能:上传,下载

OkGo主要功能
基本的get、post、put、delete、head、options、trace、patch八种请求
支持upString,upJson,upBytes,upFile等up类方法上传特定数据
支持一个key上传一个文件,也可以一个key上传多个文件,也可以多文件和多参数一起上传 大文件下载和下载进度回调 大文件上传和上传进度回调
支持cookie的自动管理,并可自定义cookie管理策略 支持缓存模式,不仅支持http缓存协议,也支持自定义缓存策略 支持重定向
支持自定义超时自动重连次数 支持链式调用 支持https访问,支持双向认证 支持根据tag取消请求,也可全部取消
支持自定义Callback,自动解析网络数据

首先添加依赖:
implementation ‘com.lzy.net:okgo:3.0.4’

案例效果展示
上传的文件展示

下载的文件展示

解析的字符串log输出展示

关于代码的一些问题
实现的功能:get方式下载文件,封装工具类下载json串并解析字符串,post上传MP4;
ps:其中加入了progress测试,还有glide的功能
思路:
1.首先需要封装一个工具类
(1)这个工具类需要定义一个结果接口传值
(2)这个工具类需要实现下载json串和解析的功能
(3)这个工具类非常灵活,调用时可以用任意json串
2.在xml中需要定义按钮实现效果
3.activity中需要实现具体代码

代码
xml布局中的代码

<?xml version="1.0" encoding="utf-8"?>







定义的接口

package com.example.day004.Utils;

public interface Getinterface {
public void success(T o);
}

实现解析的工具类

package com.example.day004.Utils;

import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;

public class OkgoUtils {
public void fromjson(String url, final Class c, final Getinterface getinterface){
OkGo.get(url).execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
String body = response.body();
Gson gson = new Gson();
Object o = gson.fromJson(body, c);
getinterface.success((T)o);
}
});
}
}

activity中的代码

package com.example.day004;

import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

import com.example.day004.Utils.Bean;
import com.example.day004.Utils.Getinterface;
import com.example.day004.Utils.Imageutils;
import com.example.day004.Utils.OkgoUtils;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.FileCallback;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Progress;
import com.lzy.okgo.model.Response;

import java.io.File;

public class MainActivity extends AppCompatActivity {
private Button image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值