private void phoneLogin() {OkHttpClient okHttpClient = new OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).writeTimeout(10, TimeUnit.SECONDS).readTimeout(20, TimeUnit.SECONDS).build();//使用Gson 添加 依赖 compile 'com.google.code.gson:gson:2.8.1'Gson gson = new Gson();//使用Gson将对象转换为json字符串String json = gson.toJson(loginRequest);//MediaType  设置Content-Type 标头中包含的媒体类型值RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), json);Request request = new Request.Builder().url(tvIp.getText().toString() + APIUtils.LoginAPI.PHONE_LOGIN)//请求的url.post(requestBody).build();//创建/CallCall call = okHttpClient.newCall(request);//加入队列 异步操作call.enqueue(new Callback() {//请求错误回调方法@Overridepublic void onFailure(Call call, IOException e) {System.out.println("连接失败");runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();}});}@Overridepublic void onResponse(Call call, Response response) throws IOException {String result = response.body().string();Gson gson1 = new Gson();java.lang.reflect.Type type1 = new TypeToken<LoginResponse>() {}.getType();LoginResponse loginResponse = gson1.fromJson(((JsonObject)new JsonParser().parse(result)).get("content"), type1);runOnUiThread(new Runnable() {@Overridepublic void run() {tvToken.setText(loginResponse.getSuposToken());}});}});
}

一個简单的okhttp访问网络的例子相关推荐

  1. 基于OkHttp访问网络时出现的网站证书认证问题

    最近在跟后台交互的时候发现,后台基于安全考虑使用了https的通信.但是当安卓端使用OkHttp框架像平时一般请求访 问网络时则会出现如下错误: javax.net.ssl.SSLHandshakeE ...

  2. python入侵数据库数据库_一个简单的Python访问Mysql数据库例子

    2020/11/3操作记录 搭建好Python的数据环境之后,接下来就是在Python代码中访问数据库我先在Navicat图形化界面创建一个数据库命名为pythontest,再在数据库中创建了一个表s ...

  3. virtualbox 创建桥接网络_VirtualBox桥接网络的简单配置,让虚拟机直接访问网络

    VirtualBox桥接网络的简单配置,让虚拟机直接访问网络 分类: Linux 2009-08-20 08:59 5071人阅读 评论(0) 收藏 举报 (1)最新的 VirtualBox 可以简单 ...

  4. 一款基于RxJava2+Retrofit2实现简单易用的网络请求框架

    本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置, ...

  5. 基于RxJava2+Retrofit2简单易用的网络请求实现

    代码地址如下: http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封 ...

  6. Android使用Http访问网络

    Android6.0(API23)系统之后,Android上发送HTTP请求的方式只有一种HttpUrlConnection 基本用法:通过一个执行路径的URL,获取到HttpUrlConnectio ...

  7. retrofit 会请求两次_基于RxJava2+Retrofit2简单易用的网络请求实现

    简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载 ...

  8. Android中的OKHttp请求网络

    OKHttp 文章目录 OKHttp 一.简介 二.基本用法 1.依赖 2.使用OKHttp 2.1.get请求 2.2.post请求 3.案例操作演示(借助runOnUiThread()方法进行线程 ...

  9. android 检测当前wifi是否又网络,android判断连接的wifi是否能访问网络

    如果只是想检测网络是否连接,则直接使用 isNetworkConnected() 如果想检测网络连通性(是否能访问网络),则 isNetworkConnected() 与 isNetworkOnlin ...

最新文章

  1. TCP/IP详解--学习笔记(2)-数据链路层
  2. int *ptr=(int *)(a+1)
  3. CSV出力ボタンラッパー(asp.net)[イベントの作り方に役立つ]
  4. ThreadLocal和线程同步机制的对比
  5. 公共语言运行库(CLR)和中间语言(IL)(一)
  6. “江山如此多娇” 瞰世界——第五届(2019)中国无人机影像大赛正式启动
  7. 带你一起一步步推理出RocketMQ的架构
  8. 【C 语言】文件操作 ( fread 函数 )
  9. 天津大学学硕和专硕的区别_想考天大化工的研究生,学硕和专硕区别大吗
  10. vi设计手册的编辑形式
  11. vue datepicker 动态控制时分秒 当前时间以后可选
  12. Simulia TOSCA Structure v8.1流体力学结构优化软件
  13. 功能测试是什么?性能测试是什么?两者有什么区别?
  14. 打印出一个数的每一位
  15. 人工智能行业岗位有哪些?
  16. c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析
  17. 正态分布 密度函数与分布函数
  18. jsp/servlet过滤器和struts2拦截器的有什么区别
  19. Git 中忽略某些文件或者文件夹
  20. 【论文复现】中值滤波改进:Noise Adaptive Fuzzy Switching Median Filter(NAFSMF)

热门文章

  1. 成都郫县php开发学校_成都各区九年制学校、十二年制学校汇总
  2. css设置并排,CSS并排排列2个div
  3. mysql表名不区分大小写_设置mysql表名不区分大小写
  4. 二维数组更改vue_使用vue中的v-for遍历二维数组的方法
  5. center6linux ip设置,centos6固定ip地址
  6. JAVA移慎_谨慎使用Java8的默认方法
  7. MFC创建属性表单“所需资源不存在”错误解决方法
  8. Iso时间转java instant,在java.util.Date和java.time.Instant之间转换古代日期时的差异
  9. C语言编程中的“堆”和“栈”七大不同之处
  10. Python技巧之函数拆包裹