1:创建一个OkHttpClient(发起请求的客户端)

        OkHttpClient.Builder builder = new OkHttpClient.Builder();//首先拿到创建者
        builder.connectTimeout(30, TimeUnit.SECONDS);
        builder.readTimeout(30, TimeUnit.SECONDS);
        OkHttpClient okHttpClient = builder.build();//由创建者创建OkHttpClient

2:创建一个RequestBody(请求体:用于存放文件对象和别的参数)

       MultipartBody.Builder builder = new MultipartBody.Builder();//首先拿到创建者

       builder .setType(MediaType.parse("multipart/form-data"));//设置请求体类型
       File file = new File(文件路径);
       String fileType = getMimeType(file.getName());//根据文件的后缀名,获得文件类型
       builder.addFormDataPart("file",file.getName(),RequestBody.create(MediaType.parse(fileType), file));
       builder.addFormDataPart("description", 其他参数); 
       RequestBody requestBody = builder.build(); //由创建者创建RequestBody

3:创建一个Request(请求对象:用于存放请求地址url和请求体RequestBody)

        Request.Builder builder = new Request.Builder();//首先拿到创建者
        builder.url(url)                                                       //设置请求地址
                .method("POST", requestBody);               //设置requestBody

        //也可以这样写 :builder.url(url).post(requestBody)

      Request request = builder.build();//由创建者创建OkHttpClient

4:创建Call(根据OkHttpClient和request创建call,call用于调用函数以发送请求)

     Call call = okHttpClient.newCall(request);

5:用call调用函数以发送请求

call.enqueue(失败的回调函数,成功的回调函数);

注意:第5步是异步请求,关于同步请求和异步请求的区别请看下篇文章

更多相关文章

  1. Android之菜单总结
  2. Android使用Retrofit进行网络请求
  3. Android官方入门文档[1]创建一个Android项目
  4. android 创建桌面快捷方式 、插件
  5. AIR Native Extension的使用(Android)一 : 打包ane
  6. 创建android逐帧动画的两种方式
  7. 使用sencha cmd创建android应用
  8. Android(安卓)Paging组件Demo
  9. 【安卓笔记】android客户端与服务端交互的三种方式

随机推荐

  1. Android(安卓)中TextView 添加超链接
  2. Android 天气预报加widget源码
  3. android内核编译方法 转载
  4. Android的JNI实现基础
  5. android获得设备信息
  6. Android--把文件发送给另一个设备
  7. cocos2dx3.0 build_native.sh 需要这些环
  8. android 相对布局覆盖问题
  9. android 弹出窗口
  10. editText设置最大长度