主要是自己记录一下,大家可以去看官方文档:http://square.github.io/okhttp/。

public static final MediaType MEDIA_TYPE_MARKDOWN= MediaType.parse("text/x-markdown; charset=utf-8");
OkHttpClient okHttpClient = new OkHttpClient.Builder().connectTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).build();
@Override
public void onClick(View v) {switch (v.getId()) {case R.id.OKHttp_btnGet: {new Thread(() -> {try {Request request = new Request.Builder().url(HOST_IP + API_TEST_STUDENT_LIST + "?classname=" + "18汽修1班").header("Content-Type", "application/x-www-form-urlencoded").addHeader("CLIENT-TYPE", "app").build();Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {Log.e("Message----", response.body().string());} else {throw new IOException("Unexpected code " + response);}} catch (IOException e) {e.printStackTrace();}}).start();break;}case R.id.OKHttp_btnPOST: {new Thread(() -> {RequestBody formBody = new FormBody.Builder().add("tname", "ttt").add("stime", "2018-11-22 15:10:57").add("department", "18汽修2班").add("sname", "朱晓宁,王子琪,梁梦,程梦涵,段雨晴,赵一帆,庞洋洋,张洋,高辰冰,张艺潇,李想,高雪,杜社,翟梦蕊,连宁洁").add("subject", "语文").add("state", "2,1,0,0,0,0,0,0,0,0,0,0,0,0,0").build();try {Request request = new Request.Builder().url(HOST_IP + API_TEST_SIGNIN).post(formBody).build();Response response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {Log.e("Message----", response.body().string());} else {throw new IOException("Unexpected code " + response);}} catch (IOException e) {e.printStackTrace();}}).start();break;}case R.id.OKHttp_btnPOSTUpLoadFile: {new Thread(() -> {File file = new File("/storage/emulated/0/CorporationApp/images/Avatar/avatar.jpg");MultipartBody.Builder builder = new MultipartBody.Builder();//设置类型builder.setType(MultipartBody.FORM);builder.addFormDataPart("file", file.getName(), RequestBody.create(MEDIA_TYPE_MARKDOWN, file));//创建RequestBodyRequestBody body = builder.build();Request request = new Request.Builder().url(API_UPLOAD).header("Content-Type", "application/x-www-form-urlencoded").addHeader("CLIENT-TYPE", "a").addHeader("CLIENT-TOKEN", "UdvyhPYw9Aicf826et-b3V9qc-bp").addHeader("APP-ID", "10123").addHeader("ORGANIZATION-ID", "0").addHeader("VERSION", "1").post(body).build();Response response = null;try {response = okHttpClient.newCall(request).execute();if (response.isSuccessful()) {Log.e("Message----", response.body().string());} else {throw new IOException("Unexpected code " + response);}} catch (IOException e) {e.printStackTrace();}}).start();break;}default:break;}
}

Android中OKHttp的基本用法(Get、Post、上传文件等)相关推荐

  1. Android中使用又拍云存储来上传文件(包括图片、音频和视频等)

    资料: 在又拍云存储上申请账号,然后购买一定的空间.(具体可上它的官网详细了解) 原理: 又拍云存储说白了就是一个中介.客户端把所需要上传的东西传到又拍云端服务器,云端服务器在通知到我们自己创建的服务 ...

  2. 转:vc中如何通过http的post方式上传文件

    文章引自:http://blog.myspace.cn/e/404248359.htm vc中如何通过http的post方式上传文件 HTTP响应     在接收和解释请求消息后,服务器会返回一个HT ...

  3. hdfs dfs -put_通过HDFS中的`hdfs dfs -put`命令行上传文件时,如何设置一个文件的复制因子?...

    hdfs dfs -put When uploading a file by the hdfs dfs -put command line in HDFS, how to set a replicat ...

  4. antd 中 Upload 上传图片宽高限制以及上传文件的格式限制

    一.上传图片的宽高限制 在组件Upload中有一个beforeUpload的API,是文件上传之前的钩子函数,我们需要在这个API中做限制 beforeUpload: file => {this ...

  5. linux的ftp轮询上传文件,Android中实现异步轮询上传文件

    前言 前段时间要求项目中需要实现一个刷卡考勤的功能,因为涉及到上传图片文件,为加快考勤的速度,封装了一个异步轮询上传文件的帮助类 效果 先上效果图 设计思路 数据库使用的框架是GreenDao,一个非 ...

  6. android http上传文件

    在Android的客户端编程中(特别是SNS 类型的客户端),经常需要实现注册功能Activity,要用户输入用户名,密码,邮箱,照片后注册.但这时就有一个问题,在HTML中用form表单就能实现如上 ...

  7. Android(安卓)上传文件到阿里云点播,阿里云点播转码

    Android(安卓)上传文件到阿里云点播,阿里云点播转码 文章目录 Android(安卓)上传文件到阿里云点播,阿里云点播转码 一:登录阿里云点播平台配置添加转码模板组 1:需要什么参数,可自行填写 ...

  8. php设置 uploadtmpdir_关于PHP上传文件时配置 php.ini 中的 upload_tmp_dir

    在<PHP 5.3 入门经典>9.6.3 的试一试中(P235),给出了一个上传文件的例子,这里的文件格式为jpeg图片(image/jpeg).如果之前未配置 php.ini 中的 up ...

  9. android服务绑定异步,Android中异步类AsyncTask用法总结

    本文总结分析了Android中异步类AsyncTask用法.分享给大家供大家参考,具体如下: 最近整理笔记的时候,看到有关AsyncTask不是很理解,重新疏导了一下,有在网上找了一些资料,个人不敢独 ...

  10. android项目中使用的服务器上,android 开发中使用okhttp上传文件到服务器

    开发android手机客户端,常常会需要上传文件到服务器,比如:你手机里的照片. 使用okhttp会是一个很好的选择.它使用很简单,而且运行效率也很高. 首先,在 app/build.gradle 的 ...

最新文章

  1. FPGA异步时序和多时钟模块
  2. lrzsz   linux与windows互传
  3. 【转】DICOM通信 - PDU数据包(1)
  4. Matlab--绘图及坐标轴命令使用示例
  5. 引导页设计灵感,高大上的设计案例
  6. hex和base32和base64的区别与联系
  7. 测试电动车速度的软件,应用测试:最高速度达11MB/S
  8. 聊天机器人-基于QQ聊天记录训练
  9. qt之QTcpSocket
  10. 2015校园O2O商业模式解析——从水果切入
  11. 如何通过自媒体创业月入万元
  12. 安装算量软件免费吗?鹏业安装算量(在线版):更简单、更高效
  13. STM32(八)W25Q(16/32/64/128)芯片学习总结
  14. 重新理解函数空间(上)
  15. w7计算机防火墙无法更改,win7系统提示防火墙无法更改某些设置错误代码0x8007437的原因及四种解决方法...
  16. zblog php换域名,zblog 怎么更换域名
  17. 教师资格证面试 计算机应用,请问下,中职类教师资格证,科目是计算机应用。可..._教师招聘考试_帮考网...
  18. Apple:万亿收入指日可待
  19. 【Windows】Windows10系统获取文件夹下的文件名方法
  20. 网易云信的音频共享技术 | 体验共享专题

热门文章

  1. Python中列表的常用方法总结
  2. grep 多条件并行满足_grep多个条件
  3. 微信公众帐号测试号申请及配置
  4. 微信开发之测试号申请
  5. android路由器安装wifidog,openwrt下的wifidog安装及web认证界面设置
  6. 搜狗输入法彻底杜绝广告以及弹窗的几种办法
  7. Speex manul(手册)中文版
  8. PHP 二维数组的合并与去重
  9. java excel 边框颜色_java(jxl) 改变excel表格背景及边框
  10. 机器学习实战——3.4 示例:使用决策树预测隐形眼镜类型