一個简单的okhttp访问网络的例子
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访问网络的例子相关推荐
- 基于OkHttp访问网络时出现的网站证书认证问题
最近在跟后台交互的时候发现,后台基于安全考虑使用了https的通信.但是当安卓端使用OkHttp框架像平时一般请求访 问网络时则会出现如下错误: javax.net.ssl.SSLHandshakeE ...
- python入侵数据库数据库_一个简单的Python访问Mysql数据库例子
2020/11/3操作记录 搭建好Python的数据环境之后,接下来就是在Python代码中访问数据库我先在Navicat图形化界面创建一个数据库命名为pythontest,再在数据库中创建了一个表s ...
- virtualbox 创建桥接网络_VirtualBox桥接网络的简单配置,让虚拟机直接访问网络
VirtualBox桥接网络的简单配置,让虚拟机直接访问网络 分类: Linux 2009-08-20 08:59 5071人阅读 评论(0) 收藏 举报 (1)最新的 VirtualBox 可以简单 ...
- 一款基于RxJava2+Retrofit2实现简单易用的网络请求框架
本库是一款基于RxJava2+Retrofit2实现简单易用的网络请求框架,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置, ...
- 基于RxJava2+Retrofit2简单易用的网络请求实现
代码地址如下: http://www.demodashi.com/demo/13473.html 简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封 ...
- Android使用Http访问网络
Android6.0(API23)系统之后,Android上发送HTTP请求的方式只有一种HttpUrlConnection 基本用法:通过一个执行路径的URL,获取到HttpUrlConnectio ...
- retrofit 会请求两次_基于RxJava2+Retrofit2简单易用的网络请求实现
简介 基于RxJava2+Retrofit2实现简单易用的网络请求,结合android平台特性的网络封装库,采用api链式调用一点到底,集成cookie管理,多种缓存模式,极简https配置,上传下载 ...
- Android中的OKHttp请求网络
OKHttp 文章目录 OKHttp 一.简介 二.基本用法 1.依赖 2.使用OKHttp 2.1.get请求 2.2.post请求 3.案例操作演示(借助runOnUiThread()方法进行线程 ...
- android 检测当前wifi是否又网络,android判断连接的wifi是否能访问网络
如果只是想检测网络是否连接,则直接使用 isNetworkConnected() 如果想检测网络连通性(是否能访问网络),则 isNetworkConnected() 与 isNetworkOnlin ...
最新文章
- TCP/IP详解--学习笔记(2)-数据链路层
- int *ptr=(int *)(a+1)
- CSV出力ボタンラッパー(asp.net)[イベントの作り方に役立つ]
- ThreadLocal和线程同步机制的对比
- 公共语言运行库(CLR)和中间语言(IL)(一)
- “江山如此多娇” 瞰世界——第五届(2019)中国无人机影像大赛正式启动
- 带你一起一步步推理出RocketMQ的架构
- 【C 语言】文件操作 ( fread 函数 )
- 天津大学学硕和专硕的区别_想考天大化工的研究生,学硕和专硕区别大吗
- vi设计手册的编辑形式
- vue datepicker 动态控制时分秒 当前时间以后可选
- Simulia TOSCA Structure v8.1流体力学结构优化软件
- 功能测试是什么?性能测试是什么?两者有什么区别?
- 打印出一个数的每一位
- 人工智能行业岗位有哪些?
- c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析
- 正态分布 密度函数与分布函数
- jsp/servlet过滤器和struts2拦截器的有什么区别
- Git 中忽略某些文件或者文件夹
- 【论文复现】中值滤波改进:Noise Adaptive Fuzzy Switching Median Filter(NAFSMF)
热门文章
- 成都郫县php开发学校_成都各区九年制学校、十二年制学校汇总
- css设置并排,CSS并排排列2个div
- mysql表名不区分大小写_设置mysql表名不区分大小写
- 二维数组更改vue_使用vue中的v-for遍历二维数组的方法
- center6linux ip设置,centos6固定ip地址
- JAVA移慎_谨慎使用Java8的默认方法
- MFC创建属性表单“所需资源不存在”错误解决方法
- Iso时间转java instant,在java.util.Date和java.time.Instant之间转换古代日期时的差异
- C语言编程中的“堆”和“栈”七大不同之处
- Python技巧之函数拆包裹