OKgo的主要功能

OkGo主要功能

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

重要的事情说三遍

无论做什么请求,第一行的泛型一定要加!!!

无论做什么请求,第一行的泛型一定要加!!!

无论做什么请求,第一行的泛型一定要加!!!

1.POST请求数据

private void dopost() {
    HashMap<String,String> map=new HashMap<>();
    map.put("phone","123456");
    map.put("passwd","12346");
    OkGo.<String>post("https://www.apiopen.top/createUser?key=00d91e8e0cca2b76f515926a36db68f5&")
            .params(map)
            .execute(new StringCallback() {
        @Override
        public void onSuccess(Response<String> response) {
            Toast.makeText(MainActivity.this, ""+response.body(), Toast.LENGTH_SHORT).show();
        }
    });
}

2.POST上传文件

private void upload() {
    OkGo.<String>post("http://169.254.113.244/hfs/")
            .isMultipart(true)
            .params("file",new File("/sdcard/haha.jpg"),"zizi.jpg")
            .execute(new StringCallback() {
                @Override
                public void uploadProgress(Progress progress) {
                    super.uploadProgress(progress);
                    progressBar1.setProgress((int) (progress.fraction*100));
                }

                @Override
                public void onSuccess(Response<String> response) {
                    Toast.makeText(MainActivity.this, ""+response.body(), Toast.LENGTH_SHORT).show();
                }
            });
}

3.GET请求JSON

public void getString(){
    OkGo.<String>get("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1")
            .execute(new StringCallback() {
        @Override
        public void onSuccess(Response<String> response) {
            String body = response.body();
            Toast.makeText(MainActivity.this, ""+body, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onError(Response<String> response) {
            super.onError(response);
        }
    });
}

4.GET请求图片

private void getBitmap() {
    OkGo.<Bitmap>get("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=486958716,243120904&fm=26&gp=0.jpg")
            .execute(new BitmapCallback() {
                @Override
                public void onSuccess(Response<Bitmap> response) {
                    Bitmap body = response.body();
                    imageView.setImageBitmap(body);
                    Toast.makeText(MainActivity.this, ""+body.getByteCount(), Toast.LENGTH_SHORT).show();
                }
            });
}

5.GET下载文件

private void getFile() {
    OkGo.<File>post("http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
            .execute(new FileCallback() {
                @Override
                public void onSuccess(Response<File> response) {
                    File body = response.body();
                }

                @Override
                public void onStart(Request<File, ? extends Request> request) {
                    super.onStart(request);
                }

                @Override
                public void onError(Response<File> response) {
                    super.onError(response);
                }

                @Override
                public void onFinish() {
                    super.onFinish();
                }

                @Override
                public void uploadProgress(Progress progress) {
                    super.uploadProgress(progress);
                }

                @Override
                public void downloadProgress(Progress progress) {
                    super.downloadProgress(progress);
                    progressBar2.setProgress((int) (progress.fraction*100));
                }
            });
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值