okhttp
来源:互联网 发布:累计参与人数js效果 编辑:程序博客网 时间:2024/04/27 21:55
okhttp
SPDP协议是谷歌提出基于传输控制协议TCP的应用层协议,通过压缩,多路复用和优先级来缩短加载时间。更加快速,使用GZIP压缩减少传输的数据量,缓存响应避免重复的网络请求,拦截器。。。
优点:快 秒加载
缺点:第一缺点是消息回来需要切换主线程,主线程要自己去写,第二传入调用比较复杂
// okhttp实现HttpPost 网络访问
//square 公司出的Http请求库;
//android 原始类 HttpUrlconnection和httpClient;
//高级用法
// 基于Http Post的文件上传(类似表单)
// 多文件和多参数同时上传
MultipartBuilder表单传入
// 大文件下载和下载进度回调
// 大文件上传和上传进度回调
// 支持session的保持
// 支持自签名网站https的访问,提供方法设置下证书就行
// 支持根据Tag取消请求
// okhttp实现HttpGet 网络访问
1.实例化:OkHttpClient;
2.获取对象 Request (Request 是okhttp中访问请求builder是一个辅助类);
3.获取对象Response ,获取call对象调用execute;
4.//获取Responsedbody对象。通过//获取Responsed对象body方法获取数据;
5.从Responsedbody对象中获取服务器返回的数据
// okhttp实现HttpPost 网络访问(json,键值对)
1.builder放入键值对
2.获取requestbody对象
3.获取request对象,将reqbodybody放入它
4.获取response对象
5.获取responsebody对象
6从response中获取服务器返回数据
OkHttp的execute的方法是同步方法,
OkHttp的enqueue的方法是异步方法,
compile 'com.squareup.okio:okio:1.5.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.google.code.gson:gson:2.8.2'
package com.bawei.test.okhttp_demo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.TextView;import android.widget.Toast;import java.io.IOException;import okhttp3.Call;import utils.GsonObjectCallback;import utils.NetWorkUtils;import utils.OkHttp3Utils;public class MainActivity extends AppCompatActivity { private TextView tv; String path="http://api.tianapi.com/social/?key=71e58b5b2f930eaf1f937407acde08fe&num=20"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); boolean netWorkAvailable = NetWorkUtils.isNetWorkAvailable(this); if (!netWorkAvailable) { Toast.makeText(MainActivity.this, "联网:" + netWorkAvailable, Toast.LENGTH_SHORT).show(); } getData(); } private void getData() { OkHttp3Utils.getInstance().doGet(path,new GsonObjectCallback<NetBean>(){ @Override public void onUi(NetBean netBean) { tv.setText(netBean.getNewslist().get(0).getTitle()); } @Override public void onFailed(Call call, IOException e) { } }); }}
阅读全文
0 0
- OkHttp
- okhttp
- OkHttp
- OkHttp
- OkHttp
- okhttp
- OKHTTP
- okhttp
- Okhttp
- okHttp
- OkHttp
- okhttp
- Okhttp
- okhttp
- OkHttp
- okhttp
- okhttp
- okhttp
- windows环境安装python-igraph全过程
- 【C++继承】之虚拟继承、作用域
- webpack3最新版本配置研究(一)loader
- 个人使用MATLAB timer 心得
- Git 常用操作(七) git status 与git中文件的三个状态
- okhttp
- [转]PHP __CLASS__、get_class()与get_called_class()的区别
- javaEE总结
- Anaconda2和Anaconda3共存
- JSP标准标签库
- JMQ的两种消息模式(点对点消息模式、订阅模式)
- input隐藏域的使用场景
- 1069. 微博转发抽奖(20)
- 洛谷 1203 [USACO1.1]坏掉的项链Broken Necklace