当前课程知识点:Android应用开发基础 > 第九章 网络技术 > 9.2 网络框架 > 9.2 网络框架
本节我们以OkHttp为例介绍网络框架
下面我们看一个使用OkHttp框架
访问网络的一个实例
如图所示
输入网络地址www.sohu.com
如果访问成功
将网络返回的HTML文件的内容
全部显示到文本框
访问一个地址https://192.168.1.100
访问不成功后提示错误信息
OkHttp框架是一个处理网络请求的开源项目
是安卓端最火热的轻量级框架
主要的特点如下
1 允许连接到同一个主机地址的所有请求
提高请求效率
2 共享Socket
减少对服务器的请求次数
3 通过连接池 减少了请求延迟
4 缓存响应数据减少重复的网络请求
5 减少对数据流量的消耗
OkHttp框架
使用HttpURLConnection进行通信
对HttpURLConnection进行封装
调用网络请求比较方便
OkHttp的框架调用如图所示
OkHttp框架封装了
HttpURLConnection请求部分
整体的代码精简很多
HttpURLConnection的连接设置
和网络读取数据
都是比较复杂的
使用OkHttp框架
网络访问代码简洁轻便
OkHttp框架实现了
CallBack异步网络回调接口
可以使用OkHttp的CallBack
进行数据的回调处理
1 在主视图中可以直接初始化
一个OkHttp的CallBack对象
实现CallBack接口的onResponse
和onFailed方法
2 OkHttp框架访问网络后
可以直接通过调用onResponse和onFailed方法
将网络请求的数据传送给主视图
要使用OkHttp框架
可以直接在build.grade中dependencies
增加实现OkHttp路径
OkHttp开源地址为
com.squareup.okhttp3:okhttp:3.11.0
3.11.0是它的版本号
这个版本号会经常变化
增加网络访问权限
Android的网络权限为
android.permission.INTERNET
主视图中实现主界面的监听接口
由于网络请求后的数据
最后都是在主视图中显示
因此监听接口需要在主视图中实现
如图所示
1 新建okhttp3.Callback网络监听器对象
2 初始化网络监听器对象
3 实现onFailure接口
4 将网络失败后获取数据显示到组件
5 实现onResponse接口
6 将网络成功后获取数据显示到组件
主视图中启动OkHttp网络请求访问
如图所示
1 创建OkHttpClienet实例
2 根据网络请求的ip地址
创建Request请求对象
3 使用newCall创建一个Call对象
调用execute发送请求获取数据
并设置回调接口为
okhttp3.Callback监听器对象
这就是使用OkHttp网络框架
访问网络的全部过程
可以看出
使用OkHttp网络访问设置和网络请求
网络返回处理都非常简便
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统