OKGO +OKHTTP上传+下载进度条+glide详细使用

  //Glide图片加载器详细使用(可以获取本地,网络,Gif图等)
     RequestOptions requestOptions=new RequestOptions();
   requestOptions.placeholder(R.mipmap.ic_launcher);
   requestOptions.error(R.mipmap.ic_launcher_round);
   requestOptions.circleCrop();//圆形图片
   Glide.with(this)
   .load("地址")
   .apply(requestOptions)
  .into(显示在哪个控件上);





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

//okgo请求上传

OkGo.post(“http://169.254.113.244/hfs/”).isMultipart(true).params(“file”, new File("/sdcard/Music/Delacey - Dream ItPossible.mp3"), “LJC.mp3”)
execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
Toast.makeText(MainActivity.this, “”+response.body(), Toast.LENGTH_SHORT).show();
}
//TOdo 重写一个方法(获取进度)
@Override
public void uploadProgress(Progress progress) {
super.uploadProgress(progress);
progressBar.setProgress((int) (progress.fraction*100));
}
});
}
});

 //okgo get 请求数据(泛型内根据需求来写,如下载文件就用FIle ,图片 Bitmap)
 
 OkGo.post("http://www.wangquanfugui/ad=5").execute(new StringCallback() {
        @Override
                public void onSuccess(Response response) {
                    String body = response.body();
                    Toast.makeText(MainActivity.this, ""+body, Toast.LENGTH_SHORT).show();
                } 
                 @Override
               public void onError(Response response) {
                    super.onError(response);
                }
                 public void downloadProgress(Progress progress) {
                  super.downloadProgress(progress);
                  progressBar2.setProgress((int) progress.fraction*100);//更新进度(在这里由于得到的数字为零点几几,导致无法更新进度条,所以要乘以一个100)
                  }
                  
            });
            
           // okhttp
            OkHttpClient.Builder builder = new OkHttpClient.Builder();
            builder.callTimeout(5, TimeUnit.SECONDS);//连接超时
            builder.readTimeout(5,TimeUnit.SECONDS);//读取超时
            OkHttpClient client = builder.build();
            Request.Builder builder1 = new Request.Builder();
            builder1.url("http://www.wangquanjiandao.com/ios/cf/dish_list.php?sa=1&limit=20&");//设置网址
           builder1.get();//设置请求方法
                     Request request = builder1.build();
         Call call = client.newCall(request);
         call.enqueue(new Callback() {
         //请求失败
       @Override
       public void onFailure(Call call, IOException e) {
       }
         //请求成功
       @Override
        public void onResponse(Call call, Response response) throws IOException {
    //获得响应体:json串
    ResponseBody body = response.body();
    //通过body直接转成字符串
    String json = body.string();
    // Toast.makeText(MainActivity.this, ""+json, Toast.LENGTH_SHORT).show();
    }
    });

    //okhttp(post)请求需要追加
    OkHttpClient build2 = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).readTimeout(5,   TimeUnit.SECONDS).build();
    FormBody.Builder builder = new FormBody.Builder();//追加
    builder.add("键","值");
    FormBody build3 = builder.build();
   Request request = new Request.Builder().url("地址").post(build3).build();
   Call call1 = build2.newCall(request);
  call1.enqueue(new Callback() {
   @Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, okhttp3.Response response) throws IOException {
    ResponseBody body = response.body();
}

});

    //http上传
   OkHttpClient build2 = new OkHttpClient.Builder().readTimeout(5, TimeUnit.SECONDS).connectTimeout(5, TimeUnit.SECONDS)
    .build();
   MultipartBody file = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("file", "aaa.mp3"
    , RequestBody.create(MediaType.parse("media/mp3"), new File("/sdcard/Music/Delacey - Dream It Possible.mp3"))).build();
  Request dzhi  = new Request.Builder().url("http://169.254.163.202/zhoukao2/").post(file).build();
  Call call1 = build2.newCall(dzhi);
 call1.enqueue(new Callback() {
@Override
 public void onFailure(Call call, IOException e) {
}

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

}

});

你可能感兴趣的:(二)