文章目录
OkHttp 系列文章目录
前言
一、OkHttp 导入流程
1、配置依赖
2、配置 networkSecurityConfig ( 兼容 HTTP )
二、ViewBinding 配置
1、启用 ViewBinding
2、Activity 初始化 ViewBinding
三、OkHttp 同步 Get 请求
四、代码示例
1、MainActivity 代码
2、build.gradle 构建脚本
3、AndroidManifest.xml 清单文件
4、network_security_config.xml 配置文件
5、执行结果
前言
在上一篇博客 【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) 中简要介绍了 OkHttp 及 Http , 本博客开始介绍 OkHttp 框架的使用 ;
一、OkHttp 导入流程
1、配置依赖
导入 OkHttp3 依赖库 : 在 Module 下的 build.gradle 配置文件中的 dependencies 节点 , 进行如下配置 ;
implementation 'com.squareup.okhttp3:okhttp:3.14.+'
2、配置 networkSecurityConfig ( 兼容 HTTP )
配置 HTTP : Android 9.0 9.09.0 之后不允许使用 HTTP, 只能使用 HTTPS , 如果要使用 HTTP , 必须在 application 节点的 android:networkSecurityConfig 属性中配置 <network-security-config> 节点的 XML 配置文件 ;
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <!-- Android 9.0 之后不允许使用 HTTP, 只能使用 HTTPS, 如果要使用 HTTP , 必须在 application 节点的 android:networkSecurityConfig 属性中 配置本文件 --> <base-config cleartextTrafficPermitted="true" /> </network-security-config>
清单文件配置 : 关注两个点 ,① 配置 android.permission.INTERNET 网络权限 , ② 配置 application 节点的 android:networkSecurityConfig 属性 ;
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.okhttp"> <uses-permission android:name="android.permission.INTERNET" /> <application android:networkSecurityConfig="@xml/network_security_config" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.OkHttp"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
二、ViewBinding 配置
1、启用 ViewBinding
启用 ViewBinding : 在 Module 下的 build.gradle 配置文件中的 android 节点 , 进行如下配置 ;
android.buildFeatures.viewBinding = true
2、Activity 初始化 ViewBinding
Activity 初始化 ViewBinding :
① 声明视图绑定成员 : 定义 ActivityMainBinding 成员变量 , ActivityMainBinding 是 activity_main 布局映射出来的类 ;
/** * ViewBinding 类 * activity_main 布局映射出来的类 * 该类主要作用是封装组件的获取 */ ActivityMainBinding binding;
② 初始化视图绑定类 : 在 onCreate 方法中初始化 ActivityMainBinding 成员变量 ;
binding = ActivityMainBinding.inflate(getLayoutInflater());
③ 设置 Activity 布局显示 :
setContentView(binding.getRoot());